/ / Код на грешката: 1054. Неизвестна колона '' в 'където клауза' - mysql, sql

Код за грешка: 1054. Неизвестна колона '' в 'където клаузата' - mysql, sql

delete ana.* from table1 as ana
where
ana.qname=(select ID from tab1 where LOCAL_NAME="xxxxx")
and exists(select "x" from table2 an
where
ana.node_id=an.id and
an.QNAME_ID IN (select ID from tab1 where LOCAL_NAME in("bbb")));

Защо по-горе заявка не работи в mysql.same заявка работи в Oracle.

Код за грешка: 1054. Неизвестна колона "ana.qname" в "where clause"

Отговори:

0 за отговор № 1

Априори, заявката ви изглежда добре. Ще започна с форматирането и квалификацията всичко имена на колони:

delete ana
from table1 ana
where ana.qname = (select t1.ID
from tab1 t1
where t1.LOCAL_NAME = "xxxxx"
) and
exists (select 1
from table2 an
where ana.node_id = an.id and
an.QNAME_ID IN (select t1.ID
from tab1 t1
where t1.LOCAL_NAME in ("bbb")
)
);

Мисля, че грешката е доста ясна: table1.qname Също така ще добавя, че сравняването на нещо, наречено "име" с нещо, наречено "id", изглежда подозрително. Подозирам, че там просто използвате неправилно име на колона. qname_id.