Witam,
Zaczynam się uczyć Accessa jako wprowadzenie do baz danych (SQLa jeszcze nie znam, więc bez takich przykładów w tym wątku ^^) i mam pytanie odnośnie 2 outer joinów w jednej kwerendzie. Zgodnie z tą stroną:
http://support.microsoft.com/KB/124937
błąd o nazwie ambiguous outer join jest wywołany wtedy kiedy outer join pokazuje na jedną tabelę, która bierze udział w innym joinie (obojętnie czy inner czy outer), ponieważ nie można ustalić kolejności łączenia rekordów.
Aczkolwiek takie połączenia są możliwe - wszystkie joiny w jedną stronę, lub jedna tabela w środku pokazująca na dwie inne:
Consultants <--- Active Consultants <--- Projects
Consultants ---> Active Consultants ---> Projects
Consultants <--- Active Consultants ---> Projects
Mam problem ze zrozumieniem tych dwóch pierwszych przykładów - jak je interpretować?
Najlepiej żeby ktoś mi to wytłumaczył na przykładzie tegorocznej matury z infy.
http://cke.edu.pl/images/files/matura/arkusze_2014/informatyka_PR_2_A1.pdf w zadaniu 6, podpunkt c). Utworzyłem 3 kwerendy, każda zsumowała ilość uwzględnień danego przedszkola jako preferencje nr 1, 2 i 3 (odpowiednio kwerendy "Odpowiedź c) - 1", "Odpowiedź c) - 2" i "Odpowiedź c) - 3"). Później 4. kwerenda korzystająca z tych trzech i mająca 2 outer joiny - odpowiedź jest poprawna i jedno przedszkole jest wyświetlone:
Jeśli jednak zmienię tylko układ joinów na taki:
To wyświetlane są dwa przedszkola - jedno to co wcześniej (same preferencje jako 1, żadnych 2 i 3) ale także drugie, które (sprawdziłem w tabelach) występuje z preferencjami 1 i 3 (pomimo wyraźnego warunku Is Null dla preferencji 3!). Dlaczego tak się dzieje?