过去几周我一直在使用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请不要删除可能会帮助用户给出正确答案的标签。 –