Sql 如何通过输入上述条件来操作此查询?

Sql 如何通过输入上述条件来操作此查询?,sql,count,concatenation,Sql,Count,Concatenation,我的桌子如下 ID Name 1 Amit 2 Shalu 2 Ram 3 John 3 Kripa 3 Manish 3 Abhi 1 Ayush 我的要求是生成一个查询,使格式 ID Name 1 Amit OR Ayush 2 Shalu OR Ram 3 John AND Kripa AND Manish AND Abhi 条件:当计数(Id)=2时,连接或使用名称 当计数(Id)>3时,连接并使用名称 我正试图修改此查询以满足上述要求

我的桌子如下

ID  Name
1   Amit
2   Shalu
2   Ram
3   John
3   Kripa
3   Manish
3   Abhi
1   Ayush
我的要求是生成一个查询,使格式

ID  Name
1   Amit OR Ayush
2   Shalu OR Ram
3   John AND Kripa AND Manish AND Abhi
条件:当计数(Id)=2时,连接或使用名称 当计数(Id)>3时,连接并使用名称

我正试图修改此查询以满足上述要求:

select id,
  REPLACE(stuff((select ',' + '  ' + name  + '  '
from @Table b
where b.id = a.id
  FOR xml path('')),1,1,' '),',','OR') MergedDatafrom @Table agroup by a.id

您可以使用联合方法:

<query that uses OR>
group by a.id
having count(*) <= 2

UNION ALL

<query that uses AND>
group by a.id
having count(*) > 2

按a.id分组
有计数(*)2

您可以使用联合方法:

<query that uses OR>
group by a.id
having count(*) <= 2

UNION ALL

<query that uses AND>
group by a.id
having count(*) > 2

按a.id分组
有计数(*)2

谢谢你,伙计,这对我很有效,我希望我不会面临任何其他问题。谢谢你,伙计,这对我很有效,我希望我不会面临任何其他问题。非常感谢