表1
t1Id
t1Name
表2
t2Id
t2Name
表1_表2_映射
t1Id
t2Id
在下面的查询中,作为输出中的第二列,我想要 t2Name 列,其中 Having COUNT(t1Id) = 1
并且我想要一些固定值('Common'),其中 COUNT(t1Id) > 1
Select t1Id
from Table1_Table2_Mapping
Group By t1Id
提前致谢。
最佳答案
SELECT m.t1Id,
CASE
WHEN COUNT(*) = 1 THEN MAX(t2.t2Name)
ELSE 'Common'
END
FROM Table1_Table2_Mapping m
JOIN Table2 t2
ON t2.t2Id = m.t2Id
GROUP BY m.t1Id
关于sql - 分组时在输出中获取一列,但仅当分组列只有一行时才对该列进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833487/