Mysql 如何从两个不同的表中获取数据(无重复记录)?其中两个表都有相同的值
表1 表2Mysql 如何从两个不同的表中获取数据(无重复记录)?其中两个表都有相同的值,mysql,sql,Mysql,Sql,表1 表2 newpancard id | name | cardno | status | ----------------------------- 1 | name1| 909099 | done | 2 | name2| 800099 | done | 3 | name3| 965099 | pending| 我们能否从两个表中status=done的两个表中获取数据 我正在尝试以下查询,但批量获取重复数据 oldpancard id | name | cardno
newpancard
id | name | cardno | status |
-----------------------------
1 | name1| 909099 | done |
2 | name2| 800099 | done |
3 | name3| 965099 | pending|
我们能否从两个表中status=done
的两个表中获取数据
我正在尝试以下查询,但批量获取重复数据
oldpancard
id | name | cardno | status |
-----------------------------
1 | name4| 111119 | done |
2 | name5| 323239 | done |
3 | name6| 734349 | pending|
4 | name7| 609099 | done |
请纠正我。谢谢我想你真的想要一个
联盟
:
SELECT tb1.*, tb2.*
FROM `newpancard` tb1
JOIN `oldpancard` tb2
ON tb1.status = tb2.status
我们使用UNION
(而不是UNION ALL
),因此我们不会从newpancard
和oldpancard
获取重复记录
输出(来自示例数据):
您只需要一个条件,说明
status='done'
@Qirel是的,我们只有条件great。很高兴能帮上忙。
SELECT * FROM newpancard WHERE status='done'
UNION
SELECT * FROM oldpancard WHERE status='done'
id name cardno status
1 name1 909099 done
2 name2 800099 done
1 name4 111119 done
2 name5 323239 done
4 name7 609099 done