我有两个表tblSiteVisits和tblConformedList和Colums如下
tblSiteVisits
Name | EmailAddress
tblConformedList
Name | EmailAddress | ContactNo | Location | Conform_Status
第一个表包含所有拥有SiteVisits
的人的姓名和EmailAddress现在,在第二个表中,Conform_Status将根据站点访问时的客户端可用性设置为1或0。
如果不是,我将填写ContactNo和Location,只需用Conform_Status = 0更新表。
现在我想要的是通过关联连接中的EmailAddress和Conform_Status为0的tblConformedList中的行,从表tblSiteVisits和tblConformedList中获取人员的Name和EmailAddress。
那是为ContactNo和Location提供更新但没有给出Conform_Status的人员列表。
先谢谢
答案 0 :(得分:1)
可能对你有帮助。
select t1.* from tblSiteVisits t1 inner join tblConformedList t2 on
t1.EmailAddress=t2.EmailAddress where t2.Conform_Status=0
尝试并分享您的反馈意见。
答案 1 :(得分:0)
很抱歉,如果仅需要Conform_Status
为0的行,则不需要LEFT JOIN
,您需要INNER JOIN
。
SELECT v.*
FROM tblSiteVisits v
JOIN tblConformedList c
ON v.EmailAddress = c.EmailAddress
WHERE c.Conform_Status=0
因为c.Conform_Status=0
将过滤掉不为0的所有行,包括具有NULL的行,所以tblSiteVisits
中tblConformedList
中没有对应行的行将被过滤 - 因此只需使用INNER JOIN
。
如果您想要所有行的条目,那么您可以进行左连接,将where子句放在on子句中或在where子句中添加OR Conform_Status IS NULL
。
SELECT v.*
FROM tblSiteVisits v
LEFT JOIN tblConformedList c
ON v.EmailAddress = c.EmailAddress
AND c.Conform_Status=0
这将显示tblSiteVisits
中的每一行,如果可能,还会显示tblConformedList
的数据,但仅在Conform_Status
实际为0时显示。