声明不 return 我需要的
Statement doesn't return what i need
我的 visual studio 项目
中的 SQL 查询有问题
我必须使用数据集不能做任何其他事情,我使用这个 SQL 查询:
SELECT Bezoekers.Naam,
Bezoekers.Voornaam,
Bezoekers.Gemeente,
Bezoekers.Gsm,
Bezoekers.Email
FROM Bezoekers
INNER JOIN FestivalBezoekers
ON Bezoekers.BezoekerId = FestivalBezoekers.BezoekerId
WHERE (Bezoekers.BezoekerId <> (SELECT BezoekerId
FROM FestivalBezoekers AS FestivalBezoekers_1
WHERE (FestivalId = @id)))
问题是当我将 <> 更改为 = 时它没有 return 任何东西它做了它必须做的事情并在我 select 正确时显示 1 bezoeker(访客) ID。问题是它必须显示每个访问者,但其 ID 在 table FestivalBezoekers 中的访问者除外。
Table内容:
Festival Bezoekers
FestivalId BezoekersId
1 2
Bezoekers
BezoekersId Naam Voornaam Adres Pc Gemeente Gsm Email
1 Bezoeker Fred Freeststraat 1 3700 Tongeren 0485/123456 fred.bezoeker@mail.com
2 Metaal Peter Grasstraat 5 3500 Hasselt 0499/987654 peter.metaal@mail.com
在这种情况下,将您的查询更改为使用 LEFT JOIN
而不是
SELECT Bezoekers.Naam,
Bezoekers.Voornaam,
Bezoekers.Gemeente,
Bezoekers.Gsm,
Bezoekers.Email
FROM Bezoekers
LEFT JOIN FestivalBezoekers
ON Bezoekers.BezoekerId = FestivalBezoekers.BezoekerId
WHERE FestivalBezoekers.BezoekerId IS NULL;
(或)像
一样使用WHERE NOT EXISTS
SELECT Naam,
Voornaam,
Gemeente,
Gsm,
Email
FROM Bezoekers b
WHERE NOT EXISTS ( SELECT 1 FROM FestivalBezoekers WHERE BezoekerId = b.BezoekerId);
我的 visual studio 项目
中的 SQL 查询有问题我必须使用数据集不能做任何其他事情,我使用这个 SQL 查询:
SELECT Bezoekers.Naam,
Bezoekers.Voornaam,
Bezoekers.Gemeente,
Bezoekers.Gsm,
Bezoekers.Email
FROM Bezoekers
INNER JOIN FestivalBezoekers
ON Bezoekers.BezoekerId = FestivalBezoekers.BezoekerId
WHERE (Bezoekers.BezoekerId <> (SELECT BezoekerId
FROM FestivalBezoekers AS FestivalBezoekers_1
WHERE (FestivalId = @id)))
问题是当我将 <> 更改为 = 时它没有 return 任何东西它做了它必须做的事情并在我 select 正确时显示 1 bezoeker(访客) ID。问题是它必须显示每个访问者,但其 ID 在 table FestivalBezoekers 中的访问者除外。
Table内容:
Festival Bezoekers
FestivalId BezoekersId
1 2
Bezoekers
BezoekersId Naam Voornaam Adres Pc Gemeente Gsm Email
1 Bezoeker Fred Freeststraat 1 3700 Tongeren 0485/123456 fred.bezoeker@mail.com
2 Metaal Peter Grasstraat 5 3500 Hasselt 0499/987654 peter.metaal@mail.com
在这种情况下,将您的查询更改为使用 LEFT JOIN
而不是
SELECT Bezoekers.Naam,
Bezoekers.Voornaam,
Bezoekers.Gemeente,
Bezoekers.Gsm,
Bezoekers.Email
FROM Bezoekers
LEFT JOIN FestivalBezoekers
ON Bezoekers.BezoekerId = FestivalBezoekers.BezoekerId
WHERE FestivalBezoekers.BezoekerId IS NULL;
(或)像
一样使用WHERE NOT EXISTS
SELECT Naam,
Voornaam,
Gemeente,
Gsm,
Email
FROM Bezoekers b
WHERE NOT EXISTS ( SELECT 1 FROM FestivalBezoekers WHERE BezoekerId = b.BezoekerId);