如何加入已加入其他表的2个表?

时间:2014-06-11 16:10:22

标签: sql join inner-join

我目前有这样的查询(我简化为最大值):

SELECT d.id_doc, v.column1, t.label
FROM version v INNER JOIN person p USING(id_person),
     document d INNER JOIN type t USING(id_type)
WHERE d.id_doc = v.id_doc
AND ... ;

我想知道如何用" real"替换WHERE语句? JOIN。

2 个答案:

答案 0 :(得分:1)

尝试这种方式:

      SELECT d.id_doc, 
               v.column1, 
               t.label
          FROM version v 
    INNER JOIN person p 
         USING (id_person)
    INNER JOIN document d 
            ON d.id_doc = v.id_doc
-- or you can use also
--       USING (id_doc)
-- if it's present only in d and v tables
    INNER JOIN type t 
         USING (id_type)
         WHERE ... ;

答案 1 :(得分:0)

应该只是:

SELECT d.id_doc, v.column1, t.label
FROM version v INNER JOIN person p USING(id_person)
INNER JOIN document d USING(id_doc)
INNER JOIN type t USING(id_type)

如果这不起作用,请告诉我们您正在使用的SQL平台,SQL Server,Oracle,MYSQL?

在几乎所有平台上都可以使用:

INNER JOIN document d on v.id_doc = d.id_doc