MYSQL - вставка двух значений, где условие другой таблицы не работает

0

Я пытаюсь два вставить два значения (один из них выбрать из другой таблицы с условием) в таблицу... но ниже возвращает мне ошибку:

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)

Что мне не хватает?

Теги:

2 ответа

2
Лучший ответ

Здесь вам не нужны значения, вы можете просто написать свой запрос, как показано ниже.

INSERT INTO animate_2 (number_records,type) 
SELECT Count(*) , 'eqs'
FROM   securities 
WHERE  secty_cd = 'EQS'
  • 0
    Это намного лучший ответ.
1

Измените этот 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');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню