Witam,
mam tabelę 'Pacjenci'
| IDPacjent | Imiona | Nazwisko | ... |
tabelę 'Szczepienia'
| IDPacjent | NazwaSzczepienia | DataSzczepienia
oraz tabelę 'Uczulenia'
| IDPacjent | NazwaUczulenia
Teraz próbuję stworzyć kartę pacjenta na której znajdą się informacje o pacjencie (czyli pola z Pacjenci) oraz na karcie pacjenta chciałbym mieć informacje o jego szczepieniach i uczuleniach.
Więc tworzę kwerendę wybierającą opartą na left joinie (pracuje w Accessie):
SELECT Pacjenci.*, [Karta Szczepień].NazwaSzczepienia, [Karta Uczuleń].NazwaUczulenia
FROM (Pacjenci LEFT JOIN [Karta Szczepień] ON Pacjenci.IDPacjent = [Karta Szczepień].IDPacjent) LEFT JOIN [Karta Uczuleń] ON Pacjenci.IDPacjent = [Karta Uczuleń].IDPacjent;
Wszystko fajnie i ładnie dopóki nie okaże się że pacjent ma 2 typy uczuleń/szczepień, czyli w tabeli np. szczepienie będą 2 wiersze w odniesieniu do jednego pacjenta:
4 | Zostavax | 2010-09-16
4 | Acambis | 2011-01-08
Wtedy inner join w wyniku kwerendy daje mi dwa wystąpienia pacjenta z ID=4 i w każdym zmienia typ uczulenia.
Jakie dać polecenie aby SQL scalał te dwa wiersze?