Описание тега mysql-error-1241
Ошибка MySQL 1241: операнд должен содержать n столбцов
Вы можете получить ошибку MySQL 1241, если ваш операнд содержит неправильное количество ожидаемых столбцов.
Подзапрос возвращает 3 столбца, но ожидается только два:
SELECT * FROM yourtable
WHERE (id, type) IN (SELECT id, type, name FROM table2)
^^ ^^^^ ^^ ^^^^ ^^^^
2 columns 3 columns
или если вы используете неправильный синтаксис:
INSERT INTO table2 (Name, Address)
SELECT (Name, Address)
FROM table1;
(это должно быть просто SELECT Name, Address FROM ...
)
или также этот:
SELECT id, (SELECT name, address FROM table2
WHERE table2.id=table1.id ORDER BY id LIMIT 1)
FROM table1
следует записать как:
SELECT
id,
(SELECT name FROM table2 WHERE table2.id=table1.id ORDER BY id LIMIT 1),
(SELECT address FROM table2 WHERE table2.id=table1.id ORDER BY id LIMIT 1)
FROM table1