sql >> Databáze >  >> RDS >> Oracle

ORA-00918:Nejednoznačně definovaný sloupec

Konečně jsem našel řešení díky vám všem! Přijal jsem odpověď João Mendese, protože jsem problém vyřešil se správným aliasem, ale všechny ostatní odpovědi byly také relevantní a pomohly mi.

Zde je poslední dotaz. V DISTINCT Vložil jsem všechna pole mapovaného objektu (koncentrátor) plus dvě použitá v ORDER BY pomocí správného aliasu. Myslím, že to není nejhezčí, ale fungovalo to dobře!

SELECT DISTINCT CONCENTRATOR_ID, c.NAME, SUPERVISIONNAME, INTERNALADDRESS, ACTIVEALARMS, IM, ID, LINK, IW, LASTUPDATE, TYPE_ID, DEPARTMENT_ID, d.NAME as "department.name", t.NAME as "type.name"
FROM "CONCENTRATOR" c LEFT OUTER JOIN "CONCENTRATOR_GROUP" USING(CONCENTRATOR_ID)
LEFT OUTER JOIN "GROUP" g USING(GROUP_ID)
LEFT OUTER JOIN "TYPE" t USING(TYPE_ID)
LEFT OUTER JOIN "DEPARTMENT" d USING(DEPARTMENT_ID)
WHERE (g.ident = 1) OR (g.ident = 16) OR (g.ident = 44)
AND (c.iw) > 0
AND TRIM(UPPER(t.name)) = 'OTELO'
ORDER BY im DESC, id DESC, link DESC, iw DESC, TRIM(UPPER(d.name)) ASC, TRIM(UPPER(c.name)) ASC 


  1. zlepšení dotazu na články související s MySQL

  2. Mysql 'VALUES function' je zastaralá

  3. Jak mohu potlačit výstup záhlaví sloupců pro jeden příkaz SQL?

  4. Zjednodušte vnořený příkaz case when