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

Nejednoznačný dotaz na sloupec

NEMŮŽETE odkazovat na aliasy sloupců v klauzuli SELECT v klauzuli WHERE, alespoň ne ve stejném dotazu. Můžete jej zadat poddotaz nebo použít pouze původní odkazy na sloupce.

select     
 bobooks."ID" request,    
 bobooks."TITLE",    
 bobooks."AUTHOR",    
 bogenres."NAME" genre,    
 bobooks."OWNER",    
 bostatus."NAME" status,    
 bolanguages."LANGUAGE" language,    
 bolanguages2."LANGUAGE" secondary_language    
from BO_BOOKS bobooks    
inner join    
BO_GENRES bogenres on bobooks.genre = bogenres.id    
inner join     
BO_STATUS bostatus on bobooks.status = bostatus.id    
inner join     
BO_LANGUAGES bolanguages on bobooks.language = bolanguages.id    
left outer join    
BO_LANGUAGES bolanguages2 on bobooks.secondary_language = bolanguages2.id    
where     
(replace(:P19_AUTHOR, ' ', '') = '' 
or
bobooks.author like '%'||:P19_AUTHOR||'%')
AND    
(replace(:P19_TITLE, ' ', '') = '' 
or
bobooks.title like '%'||:P19_TITLE||'%')
AND    
(:P14_LANGUAGE = 'all' 
or
bolanguages."LANGUAGE" = :P19_LANGUAGE
or
bolanguages2."LANGUAGE" = :P19_LANGUAGE)
AND
(:P19_GENRE = 'all' 
or
bogenres."NAME" = :P19_GENRE)
AND
(replace(:P19_OWNER, ' ', '') = '' 
or
bobooks.owner like '%'||:P19_OWNER||'%');


  1. Použití poddotazu v Against pro FULLTEXTOVÉ vyhledávání v Mysql

  2. Plánování obnovy po havárii pro MySQL a MariaDB

  3. Použití dotazu MySQL k procházení řádků k vytvoření rekurzivního stromu

  4. SQL Vyberte, aby se hodnota zobrazila pouze jednou