SQL查询一对多不匹配

时间:2015-11-10 16:03:47

标签: sql

我有2个表T1.T1badge在Table1中可能匹配T2.OldBadge或T2.New_Badge来自Table2或T1.T1badge可能不匹配T2中的任何一个字段都需要那些与Table2中的Field不匹配的字段。

这就是我运行它但不起作用提供空值记录。

SELECT T1.T1USERID, T1.T1USER, T1.T1badge, T2.CC INTO NewTable_NoCC
FROM T1, T2
WHERE (((T2.[NEW_ID])=[T1].[T1badge])) OR (((T2.OldBadge)=[T1].[T1badge]))
AND (T2.CC IS NULL);

2 个答案:

答案 0 :(得分:0)

首先删除into以查看是否返回所需的数据。

然后使用左连接并检查括号。难以测试访问查询。

SELECT T1.T1USERID, T1.T1USER, T1.T1badge, T2.CC 
FROM T1
LEFT JOIN T2
       ON (((T2.[NEW_ID])=[T1].[T1badge])) 
           OR (((T2.OldBadge)=[T1].[T1badge]))
WHERE (T2.CC IS NULL);

答案 1 :(得分:0)

> 139. //<![CDATA[
> 140. Sys.Application.setServerId("ctl02", "ctl00$ctl02");
> 141. Sys.Application._enableHistoryInScriptManager();
> 142. //]]>
> 143. X</script>

左连接是此查询的关键。