我不认为这可以做到,但因为我是一个使用MSSM工作室的SQL菜单的新手,我想我还是会问。
我有2个表并使用视图查看匹配的记录。表2有时没有匹配的记录,所以他们自然不会在我的视图中显示。例如:
A-1
B-2
C-3
我真正需要的是视图向我展示表2中匹配记录的内容,但同时告诉我其他人没有找到任何内容:
A-1
B-2
C-3
D-"Not Found"
E-"Not Found"
通过这种方式,我可以完全根据需要准备我的视图,但可以查看表2中未找到的视图。希望有人可以帮我找到完成此操作的方法。提前谢谢。
-------- ---------- EDIT
好的,所以第一个表(GoogleBusinessData)拥有。其他东西,客户网站。第二个表(EmailTable)包含许多电子邮件地址。常见链接是BusWebsite列。
SELECT dbo.GoogleBusinessData.BusWebsite, dbo.EmailTable.EmailNumberOfEmails
FROM dbo.GoogleBusinessData
INNER JOIN dbo.EmailTable ON dbo.GoogleBusinessData.BusWebsite = dbo.EmailTable.EmailWebsite
这里的问题是它会列出网站匹配时出现的电子邮件,但我希望能够从dbo.GoogleBusinessData.BusWebsite列出我的所有数据,如果它与EmailTable.EmailWebsite匹配,那么它会在dbo.EmailTable.EmailNumberOfEmails中显示该数字,但如果找不到,则显示“Not Found”。
答案 0 :(得分:7)
在Table1和Table2之间使用LEFT JOIN
(也称为LEFT OUTER JOIN
并使用
CASE WHEN Table2.Key IS NULL THEN 'Not Found' ELSE Table2.RelatedColumn END