1

Temat: Tabela przestawna??

Raport wygląda mniej więcej tak:
ID              TYP ZLECENIA    DATA WYKONANIA     KIERUNEK S/N
35240    SERWIS            2011-12-13               +            6082
35240    SERWIS            2011-12-13               -             6083

Jak zmodyfikować zapytanie aby wyglądało tak:
ID              TYP ZLECENIA    DATA WYKONANIA     KIERUNEK S/N    KIERUNEK S/N
35240    SERWIS            2011-12-13               +            6082   -              6083

kluczem jest ID. chodzi o to aby w jednym wierszu była informacja o odebranym urządzeniu i zainstalowanym urządzeniu.

2

Odp: Tabela przestawna??

Create Table Raport (
    id integer,
    typ_zlecenia text,
    data_wykonania date,
    kierunek_sn integer
);

Insert Into Raport Values (35240, 'SERWIS', '2011-12-13', 6082);
Insert Into Raport Values (35240, 'SERWIS', '2011-12-13', 6083);

Select
    id As "ID",
    typ_zlecenia As "TYP ZLECENIA",
    data_wykonania As "DATA WYKONANIA",
    min(kierunek_sn) As "KIERUNKE S/N",
    Case When min(kierunek_sn) <> max(kierunek_sn) Then max(kierunek_sn) Else Null End As "KIERUNKE S/N"
From Raport
Group by id, typ_zlecenia, data_wykonania;
  ID   | TYP ZLECENIA | DATA WYKONANIA | KIERUNKE S/N | KIERUNKE S/N 
-------+--------------+----------------+--------------+--------------
 35240 | SERWIS       | 2011-12-13     |         6082 |         6083
(1 row)

Ostatnio edytowany przez gszpetkowski (2011-12-21 11:42:53)