Php SQL:如何查找联接表中没有条目的位置
我想知道如何设置我的查询以获得没有工作的公司Php SQL:如何查找联接表中没有条目的位置,php,mysql,Php,Mysql,我想知道如何设置我的查询以获得没有工作的公司 company - id jobs - id - company_id 因此,我需要公司没有任何工作的行的结果 编辑 对不起,我的问题弄错了。。它还需要有tabel company jobs上tabel jobs的内部联接 因此: 我希望从没有任何作业或作业处于非活动状态=0的公司获得一个操作系统行结果。尝试以下操作: select id from company where id not in(select company_id from
company
- id
jobs
- id
- company_id
因此,我需要公司没有任何工作的行的结果
编辑
对不起,我的问题弄错了。。它还需要有tabel company jobs上tabel jobs的内部联接 因此: 我希望从没有任何作业或作业处于非活动状态=0的公司获得一个操作系统行结果。尝试以下操作:
select id
from company
where id not in(select company_id from jobs where active != 0)
你需要一个外部连接 试试这个
select count(c.id)
from company c
left join jobs j on j.companyid = c.id
where j.id is null
请尝试下面给出的查询:
SELECT * FROM company AS c WHERE c.id NOT IN (SELECT company_id FROM jobs)
从t.id不在“从作业中选择公司id”中的公司中选择t.*。但我强烈建议你阅读,你能告诉我你的答案和我的有什么不同吗?因为没人想告诉我为什么他们否决了它。谢谢。对不起,我的问题弄错了。。它还需要在tabel company jobs上有tabel jobs的内部联接。company_id=company.id因此:我想要公司中没有任何作业或作业未激活的行的结果。如何检查该作业是否处于活动状态,它是一个列是的。jobs.active=0。所以,我想要的是那些没有工作的公司的结果,而这些公司根本没有工作。很抱歉我的解释,一周的第一天。好的,但是现在我只从有非活跃工作的公司得到结果,我还需要没有任何工作的公司。它们包括了你的两个目的。第一个“仅选择”公司至少有一个活动工单,因此其余的是该工单没有活动工单和不在工单表中的工单。
select count(c.id)
from company c
left join jobs j on j.companyid = c.id
where j.id is null
SELECT * FROM company AS c WHERE c.id NOT IN (SELECT company_id FROM jobs)