从一个表到第二个表中识别记录

时间:2013-04-28 11:09:52

标签: sql union

我认为我的问题的答案可能相对简单,但由于我几周后才进入SQL,我真的找不到解决问题的方法;

我有三个表(DIGITAL,PRINTER,ADVERT),我想基于EMAIL字段进行合并(EMAIL字段对于每个表的每一行都是唯一的,但是与另一个表有一些重叠表格,其他字段应该遵循电子邮件表,并且无法查询);

现状:

DIGITAL

  • aa@aa.com - fname - lname
  • bb@bb.com - fname - lname
  • cc@cc.com - fname - lname

PRINTER

  • dd@dd.com - fname - lname
  • ee@ee.com - fname - lname
  • aa@aa.com - fname - lname

ADVERT

  • ff@ff.com - fname - lname
  • cc@cc.com - fname - lname
  • aa@aa.com - fname - lname

我想去的地方:

MASTER TABLE

  • aa@aa.com - fname - lname
  • bb@bb.com - fname - lname
  • cc@cc.com - fname - lname
  • ee@ee.com - fname - lname
  • ff@ff.com - fname - lname

通过使用UNION语句,我可以得出这个结果,但是我丢失了除EMAIL之外的所有其他字段。

有人可以帮助我,我会非常非常感谢!

1 个答案:

答案 0 :(得分:0)

以下查询应该为您提供电子邮件,fname和lname的合并结果:

select email,fname,lname from digital
union
select email,fname,lname from printer
union
select email,fname,lname from advert;