Tablica: localization; Kolumny: localizationID [PK], localizationIP, localizationName, localizationComment
Tablica: products; Kolumny: productsID [PK], productsName, productsVersion, productsType
Tablica łącząca: localizationProducts; Kolumny: localizationID [PK], [i]productsID [PK]
Tablica products zawiera produkty pogrupowane na 3 typy (productsType).
Wyciągam dane localizationIP, productsName
i teraz pytanie jak wyciągnąć powyższe dane z mała zmianą.
Zamiast productsName chciałbym wyciągnąć trzy kolumny dla poszczególnych productsType.
Aktualnie mam zapytanie:
SELECT l.localizationIP AS IP, IF (p.productsType='Produkt 1', p.productsName, '') AS 'Produkt 1', IF (p.productsType='Produkt 2', p.productsName, '') AS 'Produkt 2', IF (p.productsType='Produkt 3', p.productsName, '') AS 'Produkt 3' FROM localization l LEFT JOIN localizationproducts lp ON lp.localizationID=l.localizationID LEFT JOIN products p ON lp.productsID=p.productsID WHERE l.localizationID=1 GROUP BY l.localizationID, p.productsType;
co daje wynik:
Kod
IP Produkt1 Produkt2 Produkt3
10.8.3.9 Nazwa3
10.8.3.9 Nazwa2
10.8.3.9 Nazwa1
10.8.3.9 Nazwa3
10.8.3.9 Nazwa2
10.8.3.9 Nazwa1
Jak usunę p.productsType z GROUP BY
mam wynik:
Kod
IP Produkt1 Produkt2 Produkt3
10.8.3.9 Nazwa1
10.8.3.9 Nazwa1
Efekt jaki chciałbym osiągnąć to:
Kod
IP Produkt1 Produkt2 Produkt3
10.8.3.9 Nazwa1 Nazwa2 Nazwa3
10.8.3.9 Nazwa1 Nazwa2 Nazwa3
POMOCY!!!
