Verwenden von group by und having-Klausel

Verwenden Sie das folgende Schema:

Supplier (sid, name, status, city)
Part (pid, name, color, weight, city)
Project (jid, name, city)
Supplies (sid, pid, jid**, quantity)

Erhalten Sie Lieferantennummern und -namen für Lieferanten von Teilen, die für mindestens zwei verschiedene Projekte geliefert wurden.

Erhalten Sie Lieferantennummern und -namen für Lieferanten desselben Teils für mindestens zwei verschiedene Projekte.

Das waren meine Antworten:

1.

SELECT s.sid, s.name
FROM Supplier s, Supplies su, Project pr
WHERE s.sid = su.sid AND su.jid = pr.jid
GROUP BY s.sid, s.name
HAVING COUNT (DISTINCT pr.jid) >= 2 

2.

SELECT s.sid, s.name
FROM Suppliers s, Supplies su, Project pr, Part p
WHERE s.sid = su.sid AND su.pid = p.pid AND su.jid = pr.jid
GROUP BY s.sid, s.name
HAVING COUNT (DISTINCT pr.jid)>=2

Kann jemand bestätigen, ob ich das richtig geschrieben habe? Ich bin ein wenig verwirrt darüber, wie die Group By and Having-Klausel funktioniert

Antworten auf die Frage(5)

Ihre Antwort auf die Frage