Hirdetés
Új hozzászólás Aktív témák
-
nyunyu
félisten
Szabvány szerint az IN-nek el kell fogadnia egy alquery eredményét is, amennyiben pontosan egy oszlop széles az eredménye, szóval nem értem miért akarod vesszővel felsoroltatni az UNION eredményét, ahelyett, hogy szimplán beírnád az IN utáni zárójelek közé az egész UNIONos queryt.
Ez egy teljesen valid query:
select *
from tabla
where id in (select id from tabla2 where ertek = 1
union
select id from tabla3 where ertek = 2
union
select id from tabla4 where ertek = 3);Végeredménye 0-3 sor lesz, attól függően hány ID van meg a tablaban.
(Oracle megenged több oszlop széles IN-t is, itt arra kell figyelni, hogy ugyanannyi oszlop legyen az IN két oldalán felsorolva:
where (a,b) in (select c,d from tabla);)Amit te szeretnél, az maximum dinamikus SQLlel oldható meg, amikor futási időben rakod össze stringként a queryt, aztán azt futtatod az erre szolgáló paranccsal (EXEC?), de annak meg jellemzően van valamennyi futási idő overheadje (Oraclenál ~1.5 másodperc?), szóval nem éri a nehezen összerakható, nehezen debugolható kóddal szívni, mert nem lesz gyorsabb.
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! GIGABYTE Z370 i7 8700K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG CM 650W
- HP ProDesk 600 G4 i5-8100 16GB 512GB 1 év garancia
- Bomba ár! Dell Latitude 5400 - i5-8265U I 16GB I 512SSD I 14" HD I HDMI I Cam I W11 I Gari
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


