表格1
newpancard
id | name | cardno | status |
-----------------------------
1 | name1| 909099 | done |
2 | name2| 800099 | done |
3 | name3| 965099 | pending|
Run Code Online (Sandbox Code Playgroud)
表2
oldpancard
id | name | cardno | status |
-----------------------------
1 | name4| 111119 | done |
2 | name5| 323239 | done |
3 | name6| 734349 | pending|
4 | name7| 609099 | done |
Run Code Online (Sandbox Code Playgroud)
我们可以从两个表中status = done的两个表中获取数据吗?
我正在尝试以下查询,但批量获取重复数据.
SELECT tb1.*, tb2.*
FROM `newpancard` tb1
JOIN `oldpancard` tb2
ON tb1.status = tb2.status
Run Code Online (Sandbox Code Playgroud)
请纠正我.谢谢
我想你其实想要一个UNION:
SELECT * FROM newpancard WHERE status='done'
UNION
SELECT * FROM oldpancard WHERE status='done'
Run Code Online (Sandbox Code Playgroud)
我们使用UNION(而不是UNION ALL)所以我们不会从newpancard和获取重复记录oldpancard
输出(来自您的样本数据):
id name cardno status
1 name1 909099 done
2 name2 800099 done
1 name4 111119 done
2 name5 323239 done
4 name7 609099 done
Run Code Online (Sandbox Code Playgroud)