表1
newpancard
id | name | cardno | status |
-----------------------------
1 | name1| 909099 | done |
2 | name2| 800099 | done |
3 | name3| 965099 | pending|
表2
oldpancard
id | name | cardno | status |
-----------------------------
1 | name4| 111119 | done |
2 | name5| 323239 | done |
3 | name6| 734349 | pending|
4 | name7| 609099 | done |
我们能从两个表中获取数据吗?其中两个表都有status = done
?
我正在尝试以下查询,但得到了大量重复的数据。
SELECT tb1.*, tb2.*
FROM `newpancard` tb1
JOIN `oldpancard` tb2
ON tb1.status = tb2.status
请纠正我。谢谢
我想你实际上想要一个UNION
:
SELECT * FROM newpancard WHERE status='done'
UNION
SELECT * FROM oldpancard WHERE status='done'
我们使用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
SQLFiddle