Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 6
  • 46

Mam następujące dane w tabeli:

 

imię nazwisko nazwa_produktu
Jan Kowalski telewizor
Jan Kowalski radio
Adam Nowak radio
Adam Nowak telewizor
Adam Nowak kamera

 

Chciałbym stworzyć zapytanie, które zwróci mi następujący wynik:

 

imię nazwisko telewizor radio kamera
Jan Kowalski T T F
Adam Nowak T T T

 

Jakie zapytanie zwróci powyższy wynik?

Marcin_Kruk
  • Zapytał
  • @ Marcin_Kruk | 21.02.2015
    • 15
    • 0
    • 2

Odpowiedź (1)

  • 5

Rozwiązanie wykorzystujące transformację PIVOT:

 

SELECT

  Imię, Nazwisko,

  CASE WHEN "'telewizor'" = 0 THEN 'F' ELSE 'T' END as telewizor,

  CASE WHEN "'radio'" = 0 THEN 'F' ELSE 'T' END as radio,

  CASE WHEN "'kamera'" = 0 THEN 'F' ELSE 'T' END as kamera

FROM

(

SELECT Imię, Nazwisko, nazwa_produktu

FROM tab

)

pivot

(

  count(nazwa_produktu)

  for nazwa_produktu in ('telewizor', 'radio', 'kamera')

);

  • Odpowiedział
  • @ | 09.03.2015
  • TRENER ALTKOM AKADEMII