Php 比较两个表并找到不匹配的记录

Php 比较两个表并找到不匹配的记录,php,mysql,Php,Mysql,我想比较两个不同的表,它们的列名几乎都是desame,如果ID列未被触及,则在具有相同值的列上标记1,在具有不同值的列上标记0,从而输出它们 表1 ID | Value | Color 1 | good | red 2 | bad | blue 表2 ID | Value | Color 1 | any | red 2 | bad | blue 输出 ID | Value | Color 1 | 0 | 1 2 | 1 | 1 其中,0为不同列值的

我想比较两个不同的表,它们的列名几乎都是desame,如果ID列未被触及,则在具有相同值的列上标记1,在具有不同值的列上标记0,从而输出它们

表1

ID | Value | Color
1  | good  | red
2  | bad   | blue
表2

ID | Value | Color
1  | any   | red
2  | bad   | blue
输出

ID | Value | Color
1  | 0     | 1
2  | 1     | 1
其中,0为不同列值的值

SELECT table1.id, 
  CASE WHEN table1.value=table2.value THEN 1 ELSE 0 END AS value,
  CASE WHEN table1.color=table2.color THEN 1 ELSE 0 END AS color
FROM table1 JOIN table2 ON table2.id=table1.id
ORDER BY 1;
或更短的方法:

SELECT table1.id, (table1.value=table2.value) AS value, (table1.color=table2.color) AS color
FROM table1 JOIN table2 ON table2.id=table1.id
ORDER BY 1;
MySQL语法中的方法:

SELECT table1.id,
  IF(table1.value=table2.value, 1, 0) AS value,
  IF(table1.color=table2.color, 1, 0) AS color
FROM table1 JOIN table2 ON table2.id=table1.id
ORDER BY 1;

你的代码在哪里?我还没有构造任何查询。这让我很困惑。你可以从这个问答开始——这是谷歌搜索“Compare2MySQL表php”(为你)后发现的众多问答之一。享受吧!嗨,我尝试了这个查询,但是它给了我错误的输出。有没有一种方法可以像IF-ELSE方法那样实现呢?我已经添加了MySQL数据库的方法。我有了这个想法,现在查询开始工作了。谢谢,先生。