Na początek chciałbym się serdecznie przywitać.
Z bazami danych mam sporadyczny kontakt, przeszło 9 lat temu tworzyłem proste kwerendy i formularze w MS Access 2003 i wykorzystywałem je w programie SubiekGT.
Mam tabelę z produktami i zdjęciami (ponad 9000), każdy produkt może posiadać do kilku obrazków. Kolumna ordering odpowiada za kolejność wyświetlania zdjęć na stronie www. Struktura jest następująca:
ID_product product product_photo ordering
1 Product A a1234.jpg 1
2 Product B x5678.jpg 0
3 Product A b1234.jpg 0
4 Product B y5678.jpg 1
5 Product B z5678.jpg 2
6 Product C e4455.jpg 1
7 Product C f4455.jpg 0
8 Product C g4455.jpg 2
Stworzyłem kwerendę w Accesie:
TRANSFORM First([table1].product_photo) AS product
SELECT [table1].ID_product, First([table1].product) AS products
FROM [table1]
GROUP BY [table1].ID_product
PIVOT [table1].product_photo;
Wynik jest następujący:
ID_product product a1234_jpg b1234_jpg e4455_jpg f4455_jpg g4455_jpg x5678_jpg y5678_jpg z5678_jpg
1 Product A a1234.jpg b1234.jpg
2 Product B x5678.jpg y5678.jpg z5678.jpg
3 Product C e4455.jpg f4455.jpg g4455.jpg
Chciałbym posegregować dane w taki sposób, aby pierwsze i kolejne zdjęcia były obok siebie dla konkretnego produktu:
ID_product product image_1 image_2 image_3
1 Product A a1234.jpg b1234.jpg
2 Product B x5678.jpg y5678.jpg z5678.jpg
3 Product C e4455.jpg f4455.jpg g4455.jpg
Czy można rozbudować powyższą kwerendę z użyciem PIVOT sposób jak potrzebuję? Oczywiście można to ręcznie wyklinać w Excelu, ale chciałbym to zautomatyzować.