select z dynamiczną ilością kolumn (zmienna liczba kolumn wraz z ich warunkami)

0

Witam,
Potrzebuję pomocy.
Mam do stworzenia zapytanie w TSQL, które bedzie mieć tyle kolumn ile mam pozycji w tabeli powiedzmy o nazwie tabela1 (100 pozycji).
Czyli potrzebuję, żeby zamiast wpisywać każdy z warunków ręcznie, wartości z tabeli1 (tabela1.wartosc1, tabela1.wartosc2 itd. do 100) w selekcie z automatu mi to robiło.
Jeśli coś jest niezrozumiałe to proszę napisać, to spróbuję doprecyzować.
Dziękuję za pomoc.

select won
, SUM(case when zmienna = 'tabela1.wartosc1' then liczba end) col1
, SUM(case when zmienna = 'tabela1.wartosc2' then liczba end) col2
, SUM(case when zmienna = 'tabela1.wartoscn' then liczba end) coln
from dane.t_dane
where okres = 2020
group by won
4

Taki myk nazywa się pivot.

3

Możesz też wygenerować zapytanie i odpalić je dynamicznie: https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/

0

Dziękuję Panowie za podpowiedz, zrobiłem pivot + dynamiczne pobieranie kolumn.

1 użytkowników online, w tym zalogowanych: 0, gości: 1