У меня есть простая реляционная база данных, настроенная аналогично приведенному ниже примеру
[Customer] --< [CGLink] >-- [Order]
Person:
Alias Name(PK)
A Bill
B Ben
C Bob
D Jim
E John
CGLink:
ID(PK) Alias Type
1 A W
2 A X
3 B W
4 B X
5 B Y
6 B Z
7 C Y
8 E Z
Group:
Type(PK) Group
W Double-U
X Eks
Y Whai
Z Zed
И я хочу вернуть набор результатов, таких как
Alias Name Group
A Bill Double-U
A Bill Eks
B Ben Double-U
B Ben Eks
B Ben Whai
B Ben Zed
C Bob Whai
D Jim
E John Zed
Как вы можете видеть, Джим имелв таблице ссылок нет связанных данных, и я хочу избежать размещения фиктивных данных, с помощью которых я могу связать всех людей, у которых нет группы, чтобы я мог вернуть эти данные.
Я использую запрос
SELECT p.Alias, p.Name, g.Group
FROM Person AS p, Group AS s, CGLink AS l
WHERE (p.Alias=l.Alias
AND l.Type=s.Type)
ORDER BY p.Alias, p.Name;
Это возвращает
Alias Name Group
A Bill Double-U
A Bill Eks
B Ben Double-U
B Ben Eks
B Ben Whai
B Ben Zed
C Bob Whai
E John Zed
В котором, как вы видите, отсутствует Джим, потому что у него не было связанной группы.Как я могу получить результаты, которые я действительно хочу?
Приветствия