снова вопрос sql.
Первое, что я делаю, это присоединяюсь к таблицам: Выберите SID из cat c JOIN part p ON c.PID = p.PID;Я пробовал предложение «Имею», но у меня нет агрегатной функции, и использование «где» бесполезно, потому что тогда я получаю всех поставщиков, которые поставляют красную часть.
Есть ли обобщенный ответ?так что я могу также получить поставщика, который обеспечивает только зеленые части?
Необходимые результаты:
SID
-----
S2
Предоставленные таблицы:
SELECT * FROM parts
PID PNAME COLOR WEIGHT CITY
----- ---------- ---------- ------ ----------
P1 Nut red 13 London
P2 Bolt black 18 Paris
P3 Screw red 17 Rome
P4 Screw silver 14 London
P5 Cam trans 12 Paris
P6 Cog cyan 19 London
P7 Nut magenta 15 -
P8 Wheel red 15 Munich
P9 Bearing green 15 Milano
9 record(s) selected.
SELECT * FROM catalog
SID PID COST
----- ----- ------------
S1 P3 0.50
S1 P4 0.50
S1 P8 11.70
S2 P1 16.50
S2 P3 0.55
S2 P8 7.95
S3 P8 12.50
S3 P9 1.00
S4 P5 2.20
S4 P6 1247548.23
S4 P7 1247548.23
11 record(s) selected.
Спасибо за вашбольшая помощь.