当前位置: 首页 > 面试题库 >

SQL完全外部联接

端木高卓
2023-03-14
问题内容

我正在尝试编写一个join语句来将以下三个数据集连接在一起。(这是使用MS SQL Server的)

Set 1
ID    Date    Col1 
1     Jan 11  a1 
1     Jan 13  a2

Set 2
ID    Date    Col2 
1     Jan 11  b1 
1     Jan 15  b2

Set 3
ID    Date    Col3
1     Jan 15  c1 
1     Jan 17  c2

Combined Set
ID    Date    Col1    Col2    Col3
1     Jan 11  a1      b1
1     Jan 13  a2
1     Jan 15          b2       c1
1     Jan 17                   c2       

我认为完全可以通过外部联接来做到这一点,但是我遇到了主要的跨产品问题。


问题答案:

试试看:

select coalesce(t1.date, t2.date, t3.date) date, col1, col2, col3 from table1 t1
full outer join table2 t2 on (t1.date = t2.date)
full outer join table3 t3 on (t2.date = t3.date)


 类似资料:
  • 问题内容: 我使用FULL OUTER JOIN联接了2个表,这花了6分钟来运行并给出输出。 我使用LEFT OUTER JOIN和RIGHT OUTER JOIN的UNION做了同样的事情。仅用了15秒 有人知道为什么会这样吗? 问题答案: 您可能在两个表中都有很多行,共有几行,并且所讨论的列上没有索引。

  • 问题内容: 如何使用django QuerySet API创建跨M2M关系芯片的完全外部联接的查询? 它不受支持,欢迎提供有关创建我自己的经理来执行此操作的提示。 编辑添加: @ S.Lott:感谢您的启发。应用程序需要使用OUTER JOIN。即使它仍然不完整,它也必须生成一个报告,显示输入的数据。我不知道结果将是一个新的类/模型。您的提示将对我有很大帮助。 问题答案: Django在通常的SQ

  • 问题内容: 我对MySQL中的FULL OUTER JOIN有疑问。我有两个(或更多表): 我已经使用此查询来加入我的行列: 要得到: 我的问题是,我无法同时将两个id列折叠为一列来获取此信息: 有什么建议吗? 问题答案: 采用: 该操作者除去行/记录重复的,所以你必须列适当地定义/列表。 脚本: 编辑:上面的固定线

  • 问题内容: 我有这些表, 和。我想执行左外部联接。 劳斯莱斯 推出 SUMing,JOINing和GROUPings之后的预期输出==> 我的代码: 但是上面代码的O / P是 我不知道我要去哪里错了-你能解释一下吗? 问题答案: 您没有做错任何事。这就是JOIN的行为 它是左边的行数X右边的行数,在您的情况下为3 x 2 = 6。 试试这个 SQLFiddle 我知道这不适用于SQL Serve

  • 问题内容: 根据Google搜索:由于MySQL不支持完全外部联接,因此可以通过union和/或union all模拟它。但是,这两者要么删除正版副本,要么显示伪造副本。 什么是正确有效的方式? 这个问题似乎相关,但无法获得答案。 问题答案: 您可以使用左联接和右联接: 在Wikipedia上也有关于此主题的一些信息:完全外部联接。 维基百科文章建议在MySQL中使用UNION。这比UNION A

  • 问题内容: 我在SQL中有此查询,并且希望它使用Entity Framework 在LINQ中实现它,但是如何应用左外部联接的多个表? 问题答案: 这是使用LINQ实现左外部联接的方式。您应该使用GroupJoin(语法): 该查询联接了三个表。您可以以相同的方式加入其余表。