Php 如何将一个表的id检查到另一个表?

Php 如何将一个表的id检查到另一个表?,php,mysql,sql,Php,Mysql,Sql,如何使用php查找一个表的不同值id是否存在于另一个表中 例如:让table1具有id(非主要或唯一)4,5,6,4,6,如何检查table2的id是否具有4,5,6 $query_check= "select distinct(project_code) from table1"; $projects_check = mysql_query($query_check); while ($result_check = mysql_fetch_array($projects_check)){

如何使用php查找一个表的不同值id是否存在于另一个表中

例如:让
table1
具有
id
(非主要或唯一)
4
5
6
4
6
,如何检查
table2
id
是否具有
4
5
6

$query_check= "select distinct(project_code) from table1";
$projects_check = mysql_query($query_check);

while ($result_check = mysql_fetch_array($projects_check)){
    $all[] = $result_check[0];  
}

$query = "select id from table2";
$projects = mysql_query($query);
while ($result = mysql_fetch_array($projects)){
    foreach($all as $all_val){
        $pro_code = $result[0];
        if($pro_code != $all_val){ }
    }
}
此SQL可能有助于:

SELECT table2.id 
FROM table2
WHERE table2.id NOT IN (
    SELECT DISTINCT table1.id
    FROM table1
)

要从表1中获取表2中ID的所有项目代码的列表,请执行以下操作:-

SELECT DISTINCT table1.project_code  
FROM table1
INNER JOIN table2
ON table1.project_code = table2.id

从表1中获取表2中未包含ID的所有项目代码的列表

SELECT DISTINCT table1.project_code  
FROM table1
LEFT OUTER JOIN table2
ON table1.project_code = table2.id
WHERE table2.id IS NULL
如果您想要的是2上的条目而不是1上的条目

SELECT DISTINCT table2.id  
FROM table2
LEFT OUTER JOIN table1
ON table1.project_code = table2.id
WHERE table1.project_code IS NULL

到目前为止你试过什么?请发布相关的表结构(
createtablecode
)我在上面提到了一些php代码。您希望结果是什么?布尔值?或者tables id'stable2.id为NULL是为了什么?但是我需要选择表2的id第一个查询列出了表1中表2上的所有条目(这是我认为您想要的)。第二个为您提供了表1上所有不在表2上的条目(它执行左外部联接,然后检查table2.id是否为NULL-即,未找到匹配项)。如果从表1中选择,它可能会显示table1I的值,我无法计算出您还需要什么?在表1和表2中列出一些包含记录的测试数据,以及您希望输出的数据。
SELECT DISTINCT table2.id  
FROM table2
LEFT OUTER JOIN table1
ON table1.project_code = table2.id
WHERE table1.project_code IS NULL