如何从两个不同的表中获取数据(没有重复记录)?两个表都有共同的价值

Ram*_*der 3 mysql sql

表格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)

请纠正我.谢谢

Nic*_*ick 5

我想你其实想要一个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)

SQLFiddle