過去幾周我一直在使用Microsoft Server Management Studio,並且大部分時間我都能夠把所有東西都弄清楚,但有一個主要地區我有困難。我經常被要求運行查詢以查找給定名稱列表中的人員的特定值。然而,有時我查詢的列表中的某些人沒有我正在查找的值,所以他們的姓名根本不會返回。TSQL:如果行不存在,則返回'NONE'的值
例如,當我把一個50人的名單來此查詢:
SELECT p.name, dbsr.reviewCd
FROM Person p, DbSpecialReview dbsr
WHERE p.personId = dbsr.personId
AND p.name IN (...);
我可能只能得到值40
我需要的是知道如何運行一個查詢等即使只有40/50人擁有與它們相關聯的值,查詢將返回一個包含其所有名稱的表,如果某個人沒有值,則會使用「無」或「空」填充相關列。
這是一個通用的SQL問題,不是特定於SQL Server的。您應該使用LEFT JOIN。通常,您使用的語法已被棄用,並且JOINS是...的首選方式...如果您需要,可以加入相關表格 –
http://www.w3schools.com/sql/sql_join_left.asp。 –
@PanagiotisKanavos請不要刪除可能會幫助用戶給出正確答案的標籤。 –