0

我有以下内容:

SELECT  
   f.Korsnamn AS Foto, ä.ID AS ÄrendeID, ä.Kortnamn AS Ärende, l.Kortnamn AS Labb
FROM    
   Foto f, Ärendet ä, Labbrapport l
WHERE   
   f.ÄrendeID = ä.ID

返回:

Foto  ÄrendeID  Ärende  Labb
1123       10   asd      sdf
korset     12   234      sdf
111        13   213      sdf
asd         9   123123   sdf

在我的Labbrapport表中,只有一个条目,外键为Ärende.ID = 12,但它也列在ÄrendeID10、13 和 9 上?我应该怎么做才能得到类似这样的输出:

Foto    ÄrendeID  Ärende    Labb
1123       10       asd 
korset     12       234      sdf
111        13       213
asd         9       123123  

干杯

4

3 回答 3

0
SELECT f.Korsnamn AS Foto, ä.ID AS ÄrendeID, ä.Kortnamn AS Ärende, l.Kortnamn AS Labb
FROM Foto f, Ärendet ä, Labbrapport l
WHERE f.ÄrendeID = ä.ID
AND l.ÄrendeID = f.ÄrendeID
于 2012-10-09T22:02:21.400 回答
0

在和之间添加join条件。例如下面:LabbrapportÄrendet

SELECT f.Korsnamn AS Foto, ä.ID AS ÄrendeID, ä.Kortnamn AS Ärende, 
       l.Kortnamn AS Labb
FROM Foto f, Ärendet ä, Labbrapport l
WHERE f.ÄrendeID = ä.ID
      AND ä.ID = l.ID;

请使用上述查询中的正确join key列。Labbrapport

于 2012-10-09T22:02:56.783 回答
0

使用 LEFT JOIN 或 RIGHT JOIN 取决于您的主表。在您的情况下使用 LEFT JOIN

SELECT f.Korsnamn AS Foto, ä.ID AS ÄrendeID, ä.Kortnamn AS Ärende, 
   l.Kortnamn AS Labb
FROM Foto f 
INNER JOIN Ärendet ä ON f.ÄrendeID = ä.ID
LEFT JOIN Labbrapport l ON ä.ID = l.ID
于 2012-10-09T22:24:10.173 回答