首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >左连接SQL查询- MS Access

左连接SQL查询- MS Access
EN

Stack Overflow用户
提问于 2013-07-31 08:03:25
回答 1查看 147关注 0票数 1

我正在尝试使用下面的查询连接两个表Table1和Table2。我想要Table1中的所有列(和行)以及Table2中的“BasedOnDate”列。问题是,在左连接之后,列'BasedOnDate‘中的所有值都被设置为1,而不是在两个表中都匹配的行上(如Table1中的第1行和Table2中的第1行。有人能评论一下问题出在哪里吗?

我现在使用的查询:

代码语言:javascript
复制
SELECT Table1.*, Table2.BasedOnDate
FROM Table1 LEFT JOIN Table2 ON (Table1.Name = Table2.Name) AND 
(Table1.[Date-4] = Table2.[Date-4]) AND 
(Table1.[Date-3] = Table2.[Date-3]) AND 
(Table1.[Date-2]= Table2.[Date-2]) AND 
(Table1.[Date-1] = Table2.[Date-1]) AND 
(Table1.ID = Table2.ID) AND 
(Table1.Site = Table2.Site);



Table2:

Site    ID     Date-1    Date-2     Date-3     Date-4    Name      BasedOnDate
00001   201    3/30/2011 4/6/2011   4/3/2011   4/6/2011  Name-1         1


Table1:

Site    ID     Date-1    Date-2     Date-3     Date-4    Name      
00001   201    3/30/2011 4/6/2011   4/3/2011   4/6/2011  Name-1
00001   101    5/21/2011 5/28/2011  5/21/2011  5/28/2011 Name-2
EN

回答 1

Stack Overflow用户

发布于 2013-07-31 08:48:31

当我重新创建您的情况时,我可以确认使用正确的语法查询是有效的:检索Table1的所有列以及连接的Table2BasedOnDate。如果没有匹配,查询返回BasedOnDatenull

代码语言:javascript
复制
SITE ID     DATE1           DATE2           DATE3           DATE4           NAME    BASEDONDATE
1    201    March, 30 2011  April, 06 2011  April, 03 2011  April, 06 2011  Name-1  1
1    101    May, 21 2011    May, 28 2011    May, 21 2011    May, 28 2011    Name-2  (null)

你可以在这里查看:http://sqlfiddle.com/#!6/a56ee/2

如果您需要进一步的研究,请发表意见。希望能对你有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17959501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档