[ACCESS] Jak połączyc kilka tabel z różną ilościa wierszy

0

Witam
Mam problem z połączeniem danych, które znajdują się w trzech tabelach (Klienci, Dane1-3,Dane4-6), chciałbym połączyć te tabele w taki sposób aby wszystkie dane znalazły się obok siebie w oddzielnej tabeli (DanePolaczone). Problem w tym, że danych z numerem PESEL w każdej z tabeli jest różna ilość, a dane te mam zestawić tak aby dane przypisane do numeru PESEL były w tych samych wierszach (szczegóły w załączniku)

pozdrawiam

0

Użyj LEFT JOIN na łączonych tabelach. Dołączy obok tylko te co pasują a inne wypełni nullami.

0

Jezeli masz duży rozrzut ilości danych do jednego PESELA np. w jednej pozycji będzie 3, a w innej 60 to trudno będzie to zrobić prostym zapytaniem SQL. Będziesz musiał zastosowaź pętle programową , która będzie przechodziła przez poszczególnych klientów, wyszukiwała dane z nimi powiązane i wkładała do jednego wiersza w tablicy wynikowej. Można to zrobić używając np. VBA. SQL w MSAccess chyba nie ma obsługi kursorów więc trudno będzie taką pętlę napisać w samym SQL.

0

W tabeli "Klienci" dla PESEL=123 masz jednego klienta. W tabeli "Dane 1-3" dla tego samego PESEL masz 3 rekordy, a w "Dane 4-6" masz 2 rekordy. Nie masz innego powiązania pomiędzy tabelą "Dane 1-3" a "Dane 4-6", więc tam utworzy ci się iloczyn kartezjański - innej mozliwości nie ma. Więc nie będziesz miał 3 rekordów, a 6.
Skąd baza ma wiedzieć, że ma połączyć PIERWSZY rekord z Dane 1-3 z PIERWSZYM rekordem z Dane 4-6, skoro w BD pojęcie "PIERWSZY" nie istnieje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1