Как выполнить этот запрос, поставив упомянутое условие? - PullRequest
1 голос
/ 02 декабря 2009

Моя таблица выглядит следующим образом

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

Условия: когда count (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

1 Ответ

1 голос
/ 02 декабря 2009

Вы можете использовать объединенный подход:

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

UNION ALL

<query that uses AND>
group by a.id
having count(*) > 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...