我的内部查询正在返回结果,但是我得到了这个错误
SQL错误336397221:动态SQL错误;SQL错误代码= -104;无效命令;列NOME被多次指定为派生表EX SQLState:42000,ISC错误代码:336397221
这是我的查询
select * from ( --this gives error
SELECT t.placa, m.nome, GA.ID_AUDESP, GA.NOME AS GRUPO_AUDESP,
T.VALOR as valor,
T.DT_AQUISICAO,
PS.NOME
FROM PATRIMONIO_TOMBAMENTO T
LEFT JOIN PATRIMONIO_GRUPO_AUDESP GA ON GA.ID_GRUPO_AUDESP = T.ID_GRUPO_AUDESP
LEFT JOIN ESTOQUE_MATERIAL M ON M.ID_MATERIAL = T.ID_MATERIAL
LEFT JOIN PATRIMONIO_SETOR PS ON (T.ID_SETOR = PS.ID_SETOR)
WHERE T.ID_ORGAO = '030000'
AND (T.SITUACAO IN('A') or ( T.SITUACAO = 'B' AND T.DT_BAIXA >'2022-01-31'))
AND (T.DT_REATIVADO IS NULL OR T.DT_REATIVADO<= '2022-01-31' or (T.DT_BAIXA >'2022-01-31'))
AND T.dt_cadastro <= '2022-01-31'
) ex发布于 2022-08-10 12:49:35
派生表有两个名称/别名NOME (m.nome和PS.NOME)的列,正如错误指示的那样,这是不允许的,因为名称应该只出现一次。您需要别名一个或两个列,以便它们具有唯一的名称,或者如果其中一个列具有相同的值,则排除其中一个列。对于第三次出现的NOME,GA.NOME也是如此。
例如:
select * from (
SELECT t.placa,
m.nome as m_nome,
GA.ID_AUDESP,
GA.NOME AS GRUPO_AUDESP,
T.VALOR as valor,
T.DT_AQUISICAO,
PS.NOME as ps_nome
FROM PATRIMONIO_TOMBAMENTO T
-- ...https://stackoverflow.com/questions/73305994
复制相似问题