Sql 连接两个表并比较两列,看它们是否相等

Sql 连接两个表并比较两列,看它们是否相等,sql,database,ms-access,join,Sql,Database,Ms Access,Join,我的access DB中有两个表,我可以根据它们的主键Grant Number连接这些表,但是这两个表都包含一个到期日期列,我想看看到期日期是否匹配 First Table: "Everything2013" Columns: Claim Name, Grant Number, Expiry Date Second Table: "Yukon Claims Govt" Columns: Claim Name, Claim Owner, Grant Number, Staki

我的access DB中有两个表,我可以根据它们的主键Grant Number连接这些表,但是这两个表都包含一个到期日期列,我想看看到期日期是否匹配

First Table: "Everything2013" 
    Columns: Claim Name, Grant Number, Expiry Date

Second Table: "Yukon Claims Govt" 
    Columns: Claim Name, Claim Owner, Grant Number, StakingDate, ExpiryDate

我想根据授权号(主键)加入表,然后我想看看两个表中每个授权号的到期日期是否相同。基本上,我正在检查一个表中的到期日期,以查看它们是否与另一个表中相同授予编号的到期日期匹配

那么为什么不把join放在到期日期上,然后提取其他字段。

听起来你想要的是:

select Claim_Name, Grant_Number, StakingDate from Everything2013
inner join Yukon_Claims_Govt 
on Everything2013.Expiry_Date=Yukon_Claims_Govt.ClaimExpiryDate;

我假设您希望从两个表中获得具有相同授权号和到期日期的结果集

select Grant_Number,Claim_Name, StakingDate 
from Everything2013
inner join Yukon_Claims_Govt 
on Everything2013.Grant_Number=Yukon_Claims_Govt.Grant_Number
AND Everything2013.Expiry_Date=Yukon_Claims_Govt.ClaimExpiryDate;

补助金编号不包括在
[Yukon Claimes Govt]
的列中,
到期日也不包括在该列中?对不起,补助金编号也是第二个表中的一列,我在我的原始消息中遗漏了,您想看看到期日是否匹配吗,或者您想只查看具有匹配到期日期的记录吗?我无法将联接放在到期日期上,因为它们不是唯一的。授予编号可以与到期日期相同。现在,如果只需要日期而不需要日期时间,并且当前正在存储时间值,则会变得更加复杂。+1但如果到期日期可为空,则可能需要进一步的条件
或(e.[到期日期]为空,y.[到期日期]为空)
这并没有返回我想要的结果,我认为WHERE对我的情况更有用。干杯
select E.Claim_Name, E.Grant_Number, Y.StakingDate \
from Everything2013 e
inner join Yukon_Claims_Govt  y
on E.[Grant_Number]=Y.[Grant_number]
where E.Expiry_Date=Y.ClaimExpiryDate;