我在找出查询时遇到了一些麻烦。我有 2 个表 COMPANY,其中包含一个公司 ID 列、comp_id 和一个名称列。第二个表 SOURCE 有一列是 comp_id,一列是公司销售的零件,parts。
如何编写查询以查找生产所有零件的公司的名称?我认为这使用了不存在的语句,但我不知道如何。
谢谢。
我在找出查询时遇到了一些麻烦。我有 2 个表 COMPANY,其中包含一个公司 ID 列、comp_id 和一个名称列。第二个表 SOURCE 有一列是 comp_id,一列是公司销售的零件,parts。
如何编写查询以查找生产所有零件的公司的名称?我认为这使用了不存在的语句,但我不知道如何。
谢谢。
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];
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)
很简单和命令,假设一个部分是“875”
SELECT name FROM company WHERE comp_id IN(SELECT comp_id FROM parts
WHERE parts = 875)
这允许您在不同的公司中拥有相同的部分
从公司中选择名称,source where Companies.comp_id=source.comp_id;