Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL:如何查找联接表中没有条目的位置_Php_Mysql - Fatal编程技术网

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)