Sto usando MySQL. Ecco il mio schema:
Fornitori ( sid: integer , sname: string, address string)
Parti ( pid: integer , pname: string, color: string)
Catalogo ( sid: intero, pid: intero , costo: reale)
(le chiavi primarie sono in grassetto)
Sto cercando di scrivere una query per selezionare tutte le parti realizzate da almeno due fornitori:
-- Find the pids of parts supplied by at least two different suppliers.
SELECT c1.pid -- select the pid
FROM Catalog AS c1 -- from the Catalog table
WHERE c1.pid IN ( -- where that pid is in the set:
SELECT c2.pid -- of pids
FROM Catalog AS c2 -- from catalog
WHERE c2.pid = c1.pid AND COUNT(c2.sid) >= 2 -- where there are at least two corresponding sids
);
Prima di tutto, sto anche affrontando questo nel modo giusto?
In secondo luogo, ottengo questo errore:
1111 - Uso non valido della funzione di gruppo
Che cosa sto facendo di sbagliato?