【发布时间】:2019-11-15 22:43:35
【问题描述】:
我有一个 SQL 字段,我只想根据 FamilyType 的值出现在我的 sql 查询结果中的字段中。
所以当家庭类型为3B 时,我希望出现FamilyID。
我不想有重复的行(不使用 distinct 或 group by 或 where clause = 3B)。
这些是我在表中的字段:Family。
字段:
MemberID, FamilyID, FamilyType.
所以上面的字段顺序有2行:
- 3400, 233, 3B
- 3400, null, ZH
select MemberID,
CASE WHEN FamilyType = '3B' THEN FamilyID
ELSE '' END AS FamilyIDFinal
from Family
这仍然会产生 2 行。我愿意:
- 3400, 233
代替:
- 3400, 233
- 3400,空
任何指针表示赞赏。
【问题讨论】:
-
"不使用 distinct 或 groupby 或 where 子句 = '3B'" -- 换句话说,没有真正使用 SQL...为什么会有这样的限制?
-
为什么不简单地
select MemberID, FamilyType from Family where FamilyType = '3B'? -
这毫无意义。如果要从 select 语句中排除行,请使用 where 子句。
标签: sql sql-server select subquery