您好我正在尝试连接多个表但我的主表包含空值作为外键所以如果我想要我的所有关于我的artikelen的信息我必须检查null。当我执行我的查询时,我收到了我的信息,但是线路显示的次数是三次左右。我无法弄明白为什么
SELECT DISTINCT Artikelen.*, BtwTarieven.*, Eenheden.*, Categorieen.*, Leveranciers.IdLeverancier, Leveranciers.Naam, Leveranciers.Actief
FROM Artikelen
JOIN BtwTarieven
ON (BtwTarieven.IdBtwTarief = Artikelen.IdBtwTarief OR Artikelen.IdBtwTarief IS NULL)
JOIN Eenheden
ON (Eenheden.IdEenheid = Artikelen.IdEenheid OR Artikelen.IdEenheid IS NULL)
JOIN Categorieen
ON (Categorieen.IdCategorie = Artikelen.IdCategorie OR Artikelen.IdCategorie IS NULL)
Join Leveranciers
ON (Leveranciers.IdLeverancier = Artikelen.IdStandaardLeverancier OR Artikelen.IdStandaardLeverancier IS NULL)
答案 0 :(得分:1)
SELECT DISTINCT Artikelen.*, BtwTarieven.*, Eenheden.*, Categorieen.*, Leveranciers.IdLeverancier, Leveranciers.Naam, Leveranciers.Actief
FROM Artikelen
LEFT JOIN BtwTarieven
ON (BtwTarieven.IdBtwTarief = Artikelen.IdBtwTarief )
LEFT JOIN Eenheden
ON (Eenheden.IdEenheid = Artikelen.IdEenheid )
LEFT JOIN Categorieen
ON (Categorieen.IdCategorie = Artikelen.IdCategorie )
LEFT JOIN Leveranciers
ON (Leveranciers.IdLeverancier = Artikelen.IdStandaardLeverancier )