Oracle
 sql >> Datenbank >  >> RDS >> Oracle

oracle sql - finden Sie gemeinsame Artikel, die zwischen zwei Benutzern gekauft wurden

Sie beschreiben die Grundvoraussetzung für eine Schnittmengenabfrage.

select item.id, item.name
from item, PurchaseLog p, user u
where lower(u.username) = lower('Username1')
AND p.user_id = u.user_id
and item.id = p.itemid
and p.purchasedate between SYSDATE and SYSDATE-365
INTERSECT
select item.id, item.name
from item, PurchaseLog p, user u
where lower(u.username) = lower('Username2')
AND p.user_id = u.user_id
and item.id = p.itemid
and p.purchasedate between SYSDATE and SYSDATE-365

Dies gibt eine Liste von item.id und item.name zurück, die für beide Benutzer erscheinen.