DhananjayanP Ответов: 2

Используя SQL и дайте мне решение этой проблемы


Company_ID	Customer_ID	Status
1	        3453453	      S
1	        3488453	      E
1	        3453453	      G
2	        4453453	      S
3	        3489453	      S
2	        1345453	      E
3	        3487453	      S
3	        3453453	      S
3	        3454553	      S


Выход, как

Company_ID	G	S	E
1	        1	1	1
2	        0	1	1
3	        0	4	0


Что я уже пробовал:

Я пробовал много способов в сводной таблице, но я мог бы достичь своих решений

Patrice T

Затем покажите коды, которые вы пробовали.

2 Ответов

Рейтинг:
7

Maciej Los

Попробовать это:

SELECT Company_ID, [G], [S], [E]
FROM (
    SELECT Company_ID, Customer_ID, [Status]
    FROM YourTable
) DT
PIVOT(COUNT(Customer_ID) FOR [Status] IN ([G], [S], [E])) PT


CPallini

5.

Maciej Los

Спасибо, Карло.

Рейтинг:
2

OriginalGriff

Если вы "много пробовали", то у вас будет код: так покажите его нам и объясните, что он сделал, чего вы не ожидали, или не сделал того, что вы сделали.

Или же идите сюда: PIVOT и UNPIVOT в Sql Server | SqlHints.com[^ и начинайте читать.


CPallini

5.