簡體   English   中英

左外部聯接查詢中的簡單邏輯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM