/ / Código de erro: 1054. Coluna desconhecida '' in 'where clause' - mysql, sql

Código de erro: 1054. Coluna desconhecida '' in 'where cláusula' - 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")));

Por que a consulta acima não está funcionando no mysql.same? A consulta está funcionando no oracle.

Código de erro: 1054. Coluna desconhecida "ana.qname" na "cláusula where"

Respostas:

0 para resposta № 1

A priori, sua consulta está correta. Eu começaria formatando e qualificando todos nomes de colunas:

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")
)
);

Eu acho que o erro é bastante claro: table1.qname não existe. Também acrescentarei que comparar algo chamado "nome" com algo chamado "id" parece suspeito. Suspeito que você esteja simplesmente usando o nome da coluna incorreta. Talvez a intenção seja qname_id.