Temat: problem z kwerendą

Witam Wszystkich Panów i Panie.

Mam kolejny problem... nie wiem czy z access czy z SQL.
Sprawa wygląda tak
Są 3 tabele (Pracownicy, Medale i Typy medali)
Mam zamiar wyświetlić listę osób (każda osoba tylko raz) gdzie będą na liście wszystkie osoby które nie mają np. Medalu o ID=4 (nigdy nie otrzymały)
Poniższe zapytanie daje mi wynik wszyskich osób które mają jakikolwiek medal (włącznie z ID=4) ale rekordy z ID=4 nie są wyświetlane, a osoby się powtarzają.
Nie wiem czy wystarczająco wytłumaczyłem...

SELECT Pracownicy.Imie, Pracownicy.Nazwisko, MEDALE.MEDAL_DATA, TYPY_MEDALI.ID_TYP_MEDALU
FROM TYPY_MEDALI RIGHT JOIN (Pracownicy LEFT JOIN MEDALE ON Pracownicy.ID_PRACOWNIKA = MEDALE.ID_PRACOWNIK) ON TYPY_MEDALI.ID_TYP_MEDALU = MEDALE.ID_MEDAL_TYP
WHERE (((TYPY_MEDALI.ID_TYP_MEDALU) Is Null Or Not (TYPY_MEDALI.ID_TYP_MEDALU)=4));
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: problem z kwerendą

Mniej więcej tak:

SELECT 
Pracownicy.Imie
,Pracownicy.Nazwisko
From
Pracownicy
Left join (select
medale.id_pracownik
from
medale
inner join typy_medali on TYPY_MEDALI.ID_TYP_MEDALU = MEDALE.ID_MEDAL_TYP
where
TYPY_MEDALI.ID_TYP_MEDALU=4
) as m4 on m4.id_pracownik = Pracownicy.ID_PRACOWNIKA
where
m4.ID_PRACOWNIKA is null



Wyślij zaproszenie do