sql >> Databasteknik >  >> RDS >> Oracle

Varför skulle den här frågan orsaka en sammanfogad kartesisk koppling i Oracle

Problemet är att Oracle inte känner till det get_fiscal_year_start_date (SYSDATE) returnerar ett enda resultat. Så det antas att det kommer att generera många rader.

Uppenbarligen har jag ingen testsele till hands, men den här versionen av din fråga borde förvisa den sammanslagna kartesiska sammanfogningen.

SELECT RTRIM (position) AS "POSITION", 
.  // Other fields 
. 
. 
FROM schema.table x 
     , ( select get_fiscal_year_start_date (SYSDATE) as fiscal_year 
         from dual ) fy
WHERE hours > 0  
AND pay = 'RGW' 
AND NOT EXISTS( SELECT position 
                FROM  schema.table2 y 
                where y.date = fy.fiscal_year
                AND y.position = x.position ) 

Oracle vet att DUAL har en enda rad, och därför kommer underfrågan att returnera ett värde.




  1. Oracle:Släpp flera partitioner

  2. echo json-array i en phpMyAdmin-kolumn VIA PHP

  3. Db::Instans prestashop

  4. Fångbart fatalt fel:Objekt av klassen stdClass kunde inte konverteras till sträng i..när försökte infogas i databasen