Sql 在分组时在输出中获取列,但仅当分组列只有一行时才对该列进行分组

Sql 在分组时在输出中获取列,但仅当分组列只有一行时才对该列进行分组,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,表1 t1Id t1Name 表2 t2Id t2Name 表1\u表2\u映射 t1Id t2Id 在下面的查询中,作为输出中的第二列,我需要t2Name列,其中具有计数(t1Id)=1,我需要一些固定值('Common'),其中具有计数(t1Id)>1 Select t1Id from Table1_Table2_Mapping Group By t1Id 提前感谢。+1000000精彩绝伦!2分钟后。哇,太好了!!非常感谢@Martin:-) SELECT m.t1Id,

表1

t1Id
t1Name

表2

t2Id
t2Name
表1\u表2\u映射

t1Id
t2Id
在下面的查询中,作为输出中的第二列,我需要t2Name列,其中
具有计数(t1Id)=1
,我需要一些固定值('Common'),其中
具有计数(t1Id)>1

Select t1Id 
from Table1_Table2_Mapping
Group By t1Id

提前感谢。

+1000000精彩绝伦!2分钟后。哇,太好了!!非常感谢@Martin:-)
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