Cześć,
Mam dwa selecty i chciałbym odfiltrować wyniki z drugiego:
SELECT COL INTO #temp_table_1
FROM TABLE1,
TABLE2,
TABLE3
WHERE
TABLE1.ID = TABLE2.ID,
TABLE2.ID = TABLE3.ID,
TABLE3.STATUS = 'A';
SELECT COL INTO #temp_table_2
FROM TABLE1,
TABLE2,
TABLE3
WHERE
TABLE1.ID = TABLE2.ID,
TABLE2.ID = TABLE3.ID,
TABLE3.STATUS = 'B';
SELECT STH FROM #temp_table_1 t1
WHERE NOT EXIST (SELECT 1 FROM #temp_table_2 t2 WHERE t2.COL = t1.COL);
Problem w tym, że muszę się pozbyć tych tymczasowych tabelek i napisać wszystko w jednym select. Ale gdy użyję subqueries zamiast #temp_table_1 i #temp_table_2, kwerenda się przetwarza w nieskończoność.
Jest możliwe aby uzyskać ten sam rezultat i zbliżony runtime używając pojedynczej kwerendy? Ktoś mi powiedział, że mógłbym użyć tutaj UNION, ale nie rozwinął tematu.. Dialekt to Sybase IQ.