Я пытаюсь два вставить два значения (один из них выбрать из другой таблицы с условием) в таблицу... но ниже возвращает мне ошибку:
SQL:
INSERT INTO animate_2 (number_records, type)
VALUES ((SELECT secty_cd, COUNT(*)
FROM securities
WHERE secty_cd = 'EQS'
), 'eqs'
);
ОШИБКА 1241 (21000): Операнд должен содержать 1 столбец (ов)
Подзапрос работает, хотя:
mysql> SELECT secty_cd, COUNT(*) FROM securities WHERE secty_cd = 'EQS';
+----------+----------+
| secty_cd | COUNT(*) |
+----------+----------+
| EQS | 37316 |
+----------+----------+
1 row in set (0.00 sec)
Что мне не хватает?
Здесь вам не нужны значения, вы можете просто написать свой запрос, как показано ниже.
INSERT INTO animate_2 (number_records,type)
SELECT Count(*) , 'eqs'
FROM securities
WHERE secty_cd = 'EQS'
Измените этот INSERT INTO animate_2 (number_records, type) VALUES ((SELECT secty_cd, COUNT(*) FROM securities WHERE secty_cd = 'EQS'), 'eqs');
к
INSERT INTO animate_2 (number_records, type) VALUES ((SELECT COUNT(*) FROM securities WHERE secty_cd = 'EQS'), 'eqs');