zamiana wierszy na kolumny (PIVOT?CROSS)

0

WItam,

mam tabelę (BilansCzasuPracy.DB - ekspotrowana do .csv)

"PRACOWNIK","NRID","STAMPDATE","DATA","DZIENTNAZWA","BILANS","BILANSMIN"
"Dębosz Jacek",10,734115,"2010-12-09","Cz","11:07",667
"Dębosz Jacek",10,734116,"2010-12-10","Pt","08:09",489
"Domański Sebastian",14,734115,"2010-12-09","Cz","07:53",473
"Domański Sebastian",14,734116,"2010-12-10","Pt","07:52",472

chcę ją przerobić aby uzyskać coś takiego

"PRACOWNIK","D1","D2"
"Dębosz Jacek","11:07","08:09"
"Domański Sebastian","07:53","07:52"

dla jednego pracownika robię coś takiego:
"SELECT p.PRACOWNIK, a.D1, b.D2 FROM (SELECT DISTINCT PRACOWNIK FROM BilansCzasuPracy WHERE NRID=10)p, " +
"(SELECT BILANS as D1 FROM BilansCzasuPracy WHERE DATA='2010-12-09' AND NRID=10)a, " +
"(SELECT BILANS as D2 FROM BilansCzasuPracy WHERE DATA='2010-12-10' AND NRID=10)b "
i jest ok

ale jak to zrobić dla 100 pracowników i całego miesiąca??
dodam że przedział czasowy (DATA) dla wszystkich pracowników będzie taki sam

z góry dziękuję wszystkim za pomoc

0

jaka baza???????

0

dzięki Misiekd za zainteresowania
baza to niestety
Paradox 5.0
ew mogę przerobić na dBase IV

0

generalnie w miarę szybko i łatwo zrobisz to np. w excelu, accessie czy ich darmowych odpowiednikach. Niestety przy pomocy samego SQLa nie da rady zrobić uniwersalnego zapytania, które by tworzyło taki raport dla dowolnego zakresu dat. Możesz taki SQL generować ale to się raczej mija z celem.

0

a czy funkcją PIVOT na datatable nie dałoby rady?
jeśli jest szansa to jak?

0

ok, zrobiłem
dla zainteresowanych skorzystałem z tego artykułu
http://www.vbdotnetheaven.com/UploadFile/superna/SUP00101252008191619PM/SUP001.aspx
thank you Superna Parajuli

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