mysql - 从两个不同的表中获取公共(public)数据

标签 mysql sql sql-server sql-server-2008

您好,我有 2 个具有相同列名的表(Id、FName、LName、DOB、Type、Contact、Add)。

现在我想将所有数据作为一个单独的行获取,这些数据从两个表中按照 Fname 的顺序具有相同的 FName、LName 和 DOB。

我尝试使用 intersect 和 Union 但对我不起作用。

  Select * from #t1 where FirstName in (select FirstName from #t2 ) and LastName in  (select LastName from #t2 ) and DateOfBirth in (select DateOfBirth from #t2 ) 
 UNION
Select * from #t2 where FirstName in (select FirstName from #t1 ) and LastName in  (select LastName from #t1 ) and DateOfBirth in (select DateOfBirth from #t1 )      order by FirstName ,LastName

谢谢

最佳答案

我想这就可以了,但我相信还有更简洁的方法......

SELECT T1.*
FROM T1
INNER JOIN T2 
    ON T2.FirstName = T1.FirstName
    AND T2.LastName = T1.LastName
    AND T2.DateOfBirth = T1.DateOfBirth
UNION ALL
SELECT T2.*
FROM T2
INNER JOIN T1 
    ON T1.FirstName = T2.FirstName
    AND T1.LastName = T2.LastName
    AND T1.DateOfBirth = T2.DateOfBirth

关于mysql - 从两个不同的表中获取公共(public)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805387/

相关文章:

sql - 从左连接到第一个表的第二个表中获取最新记录

mysql - 是否有将日期格式化为 YYYY、MM、DD 的 SQL 查询?

sql - 尝试编写一个内部连接来过滤掉一些条件

php - PHP如何生成HTML文件?

mysql - 具有 INNER JOIN 和 LIMIT 1 的查询别名

MYSQL 每周或每月查询自动化

php - 选定的下拉列表项 - 调用/获取数据

mysql - 如何查询多个不相关的表?

c# - dapper 执行存储过程时将数据类型日期时间转换为小日期时间时出错

sql-server - 合并命令是否进行合法更新?