- Samsung Galaxy S26 - szeret, nem szeret
- iPhone topik
- Android szakmai topik
- Redmi Note 15 Pro 5G – a szokásosat?
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Samsung Galaxy A52s 5G - jó S-tehetség
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy Watch6 Classic - tekerd!
- EarFun Air Pro 4+ – érdemi plusz
- Android alkalmazások - szoftver kibeszélő topik
Ú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
- Lenovo X1 Tablet Gen3 Intel i5 8350U Refurbished - Garancia
- Samsung Galaxy A56 5G Awesome Graphite 128GB használt karcmentes 6 hónap garancia
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
- AKCIÓ! ASRock B650 R7 8700F 32GB DDR5 1TB SSD RTX 3080 10GB LIAN LI LANCOOL 217 fehér 750W
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W with combo cable (3TR87AA)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

