左右连接的TSQL组合在相同的两个表上,每个连接具有不同的列

时间:2013-11-12 03:53:29

标签: sql sql-server tsql

我需要将这些转换为一个insert语句。我正在考虑使用完全外部联接,但这不起作用,因为我正在使用columnA进行一次连接而另一次使用columnB,所以我不确定...我是否必须使用两个插入语句...因为我试过了,但我没有得到我想要的结果。

   FROM MainTable RIGHT JOIN SubTable ON MainTable.ColumnA = SubTable.ColumnA
   WHERE (((MainTable.ColumnA) Is Null) AND ((Left([SubTable].[ColumnA],3))="001"));

   FROM SubTable LEFT JOIN MainTable ON SubTable.ColumnB = MainTable.ColumnB
   WHERE (((MainTable.ColumnA) Is Null) AND ((Left([SubTable].[ColumnA],3))="001"));

仅供参考...这是来自ACCESS插入查询,我无法在SQL视图中打开以查看该代码的确切内容

1 个答案:

答案 0 :(得分:0)

如果我记得正确访问,则无法进行完全加入。这看起来像Access尝试这样做。快速检查谷歌,我发现这个链接说要把它改成像wdosanjos这样的联盟建议:http://office.microsoft.com/en-us/access-help/join-tables-and-queries-HA010096320.aspx