クエリを理解するのに苦労しています。会社 ID 列、comp_id、および名前列を含む COMPANY という 2 つのテーブルがあります。2 番目のテーブル SOURCE には、comp_id の列と、会社が販売する部品 (parts) の列があります。
すべての部品を製造している会社の名前を検索するクエリを作成するにはどうすればよいですか? これは存在しないステートメントを使用していると考えましたが、その方法がわかりません。
ありがとう。
クエリを理解するのに苦労しています。会社 ID 列、comp_id、および名前列を含む COMPANY という 2 つのテーブルがあります。2 番目のテーブル SOURCE には、comp_id の列と、会社が販売する部品 (parts) の列があります。
すべての部品を製造している会社の名前を検索するクエリを作成するにはどうすればよいですか? これは存在しないステートメントを使用していると考えましたが、その方法がわかりません。
ありがとう。
SELECT name, count(*) AS parts_count
FROM company, source
WHERE company.comp_id = source.comp_id
GROUP BY name
HAVING parts_count = (select count(*) from source)
Select name
from company, source
where company.comp_id=source.comp_id;
これを試して...
SELECT c.name from company join source s on (s.comp_id = c.comp_id) where parts = [:part_id];
非常にシンプルでコマンドです。パーツが「875」であるとします
SELECT name FROM company WHERE comp_id IN(SELECT comp_id FROM parts
WHERE parts = 875)
これにより、異なる会社で同じ部品を持つことができます
company.comp_id=source.comp_id; の会社、ソースから名前を選択します。