mamy tabele jak poniżej
lp | tydzień| sklep | zamówiono | błędy | ----------------------------------------- 1 | 1 | skl1 | 34 | 2 | 2 | 1 | skl2 | 42 | 4 | 3 | 1 | skl3 | 76 | 1 | 4 | 2 | skl1 | 65 | 3 | 5 | 2 | skl2 | 97 | 9 | 6 | 3 | skl1 | 98 | 0 | 7 | 3 | skl3 | 53 | 1 | -----------------------------------------
chciałbym otrzymać taki wynik
| tydzień 1 | tydzień 2 | tydzień 3 | sklep | zamówiono | błędy | zamówiono | błędy | zamówiono | błędy | ------------------------------------------------------------------- skl1 | 34 | 2 | 65 | 3 | 98 | 0 | skl2 | 42 | 4 | 97 | 9 | 0 | 0 | skl3 | 76 | 1 | 0 | 0 | 53 | 1 | -------------------------------------------------------------------
Czyli dla każdego sklepu wyświetlić wartość zamówiono i ilość błędów dla poszczególnych tygodni w jednym wierszu.
Udało mi się to osiągnąć poprzez utworzenie dwóch kwerend krzyżowych.
Jedna zwraca wszystkie wartości dla zamówiono a druga zwraca wszystkie błędy w tygodniu.
Następnie połączyłem te kwerendy.
przykładowo mamy:
kwerenda_krzyżowa_zamówiono
kwerenda_krzyżowa_błędy
SELECT sklep, k_k_zam.1, k_k_bl.1, k_k_zam.2, k_k_bl.2, k_k_zam.3, k_k_bl.3
FROM kwerenda_krzyżowa_zamówiono k_k_zam, kwerenda_krzyżowa_bl k_k_bl
WHERE k_k_zam.sklep = k_k_bl.sklep;
problem w tym że gdy chce to zrobić dla większego przedziału czasu (ilość tygodni) to muszę dopisywać kolejne dwie linie do SELECT-a
czy jest możliwość tego zautomatyzowania?
z góry dziękuje za pomoc.