Witam,
mam problem z wyswietleniem odpowiednio mojego zapytania. Zlicza mi ono jakas wartosc dla uzytykownika dla kazdego miesiaca oddzielnie. Wszystko działa ok tyle ze miesiace sa wyswietlane pionowo (jeden pod drugim), a chodzi mi aby w wyniku powstało 12 nowych kolumn z odpowiednimi miesiacami, a w nich wartosci dla danego uzytkownika z konkretnego miesiaca. Instnieje sposob aby to zrobic "łopatologicznie" czyli po SELECTcie wypisanie jakos watosci z danego miesiaca ale wydaje mi sie ze nie bedzie to aby optymalne (a zapytanie bedzie działac na dosc duzych danych).

Znalazłem wzmianke o TRANSLATE/PIVOT ale nie wiem jak to ugryzc, czy da sie czyms takim to zrobic i czy w ogole jest to zaimplementowane w MS SQL 08.

Poniezej zapytanie ktore mam i tabele. Gorna - ktora mam w tej chwili (mniej wiecej) oraz dolna - taka jak bym chcial otrzymac. Z 'Inne' mozna narazie zrezygnowac narazie.

  1. SELECT count([SPRAWY].user_id) [Liczba spraw], [USERS].surname, [USERS].name, MONTH([SPRAWY].eventdate) miesiac, YEAR([SPRAWY].eventdate), [EVENT_NAME].value [Wykonana czyność], [USER_NAME].description [Opis stanowiska]
  2.  
  3. FROM [BAZA].[case] AS [SPRAWY]
  4. INNER JOIN [BAZA].[user] AS [USERS] ON [SPRAWY].user_id = [USERS].user_id
  5. INNER JOIN [BAZA].[history] AS [EVENT_NAME] ON [EVENT_NAME].event_id = [SPRAWY].event_id
  6. INNER JOIN [BAZA].[user_group] AS [USER_NAME] ON [USER_NAME].usergroup_id = [USERS].usergroup_id
  7.  
  8. WHERE [USERS].usergroup_id = 9
  9. AND [EVENT_NAME].event_id = 23
  10. AND YEAR([SPRAWY].eventdate) = @rok
  11.  
  12. GROUP BY [SPRAWY].user_id,[EVENT_NAME].event_id, [USERS].name, surname, value, [USER_NAME].description, MONTH([SPRAWY].eventdate), YEAR([SPRAWY].eventdate)
  13.  
  14. ORDER BY miesiac



TABELE:



z gory dzieki za pomoc