[英]Simple Logic in Left outer join Query
我有兩個表tblSiteVisits和tblConformedList和Colums如下
tblSiteVisits
Name | EmailAddress
tblConformedList
Name | EmailAddress | ContactNo | Location | Conform_Status
第一個表包含所有具有SiteVisits的人的姓名和電子郵件地址
現在,在第二個表中,Conform_Status將根據現場訪問時客戶端的可用性設置為1或0。
如果沒有,我將填寫ContactNo和Location並僅使用Conform_Status = 0更新表。
現在我想要的是通過關聯聯接中的EmailAddress和Conform_Status為0的tblConformedList中的行,來從表tblSiteVisits和tblConformedList中獲取人員的名稱和EmailAddress。
這是已提供ContactNo和Location進行更新但未提供Conform_Status的人員列表。
提前致謝
可能對您有幫助。
select t1.* from tblSiteVisits t1 inner join tblConformedList t2 on
t1.EmailAddress=t2.EmailAddress where t2.Conform_Status=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,包括空行,行tblSiteVisits
有中沒有對應的行tblConformedList
無論如何都會被過濾-因此只需使用一個INNER JOIN
。
如果要為所有行都輸入一個條目,則可以左OR Conform_Status IS NULL
,將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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.