Új hozzászólás Aktív témák
-
nyunyu
félisten
Mármint sokkal egyszerűbb, mint ügyfelenként meghatározni az utolsó előfizetési dátumot, és az ahhoz tartozó rekordot visszakeresni az előfizetés táblában, hogy utána joinolhassam az előfizetőhöz:
select u.*, s.status
from users u
left join (
select *
from subscription
where (customer_id, createdate) in (
select customer_id, max(createdate)
from subscription
group by customer_id) s
on s.customer_id = u.customer_id;(Tényleg, Oraclen kívül van más olyan DB is, ami támogatja a sokoszlopos IN / NOT IN műveleteket?
Ha jól rémlik, ez a szintaxis nincs szabványosítva)Valószínűleg ablakozós max() függvénnyel is lehetne írni, és akkor nem kellene a group by köré írt külső query:
select u.*, s.status
from users u
left join (
select *
from subscription
where createdate = max(createdate) over (partition by customer_id)
) s
on s.customer_id = u.customer_id;Talán így a legrövidebb a kód.
Új hozzászólás Aktív témák
- iPad Pro 12.9" M1 256GB 2021 - touchpad keyboard, pencil 2 - full, garancia (116)
- Macbook Pro 14" M1 Pro - 2022 gyártás, 10 GPU, 14 CPU, 32 GB / 1 TERA - garancia (102)
- PS5 Slim 1 TB - Garanciás 2027.04.15
- Google Pixel 9 Pro XL 16/256gb
- Asus 15.6,core i3 5005(4x2,0Ghz)IntelHD VGA,8-16GB RAM,SSD,,Win.11,Jó akku
- BESZÁMÍTÁS! Sony PlayStation 4 Slim 1TB HDD játékkonzol garanciával hibátlan működéssel
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
- Realme GT 8 Pro Urban Blue 16/512GB MediaMarkt garancia 2029.02.02.-ig
- iPhone 13 Pro 128GB 100% (1év Garancia) - ÚJ EREDETI AKKUMULÁTOR
- BESZÁMÍTÁS! Intel Core i9 9900 8 mag 16 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
