两个表SQL双连接?

时间:2015-05-18 13:46:27

标签: php mysql sql join

我有两个表,sectionsarticles。最初它是一对多的关系,因此articles有一个sectionID列。然后有一天决定允许每篇文章属于两个部分。而不是制作另一篇  '表,我选择不处理重构数据,我只是在additionalSectionID表上添加了articles列。现在我有一个问题。

我想显示与给定部分相关的所有文章,无论是作为主要部分还是次要部分。基本上,我正在寻找两个表之间的某种双连接。

这两个问题可以解答同一个问题 - 12,但使用不同的数据库服务器。有没有办法在PHP / MySQL中执行此操作?

表'结构基本上是这样的:

-- SECTIONS:
id   title   description   moderatorID   url

-- ARTICLES: 
id   title   shortDesc     fullText      photo   sectionID   additionalSectionID

2 个答案:

答案 0 :(得分:0)

您可以尝试在单独的表别名上使用两个内部联接:

SELECT 
*,
s1.section_name AS sectionA, 
s2.section_name AS sectionB
FROM articles    
    INNER JOIN sections s1 ON articles.sectionID = s1.sectionID
    INNER JOIN sections s2 ON articles.additionalSectionID = s2.sectionID

答案 1 :(得分:0)

见下文。

<properties>
    <hibernateVersion>4.3.8.Final</hibernateVersion>
    <hsqldbVersion>2.3.2</hsqldbVersion>
    <log4j2Version>2.0.2</log4j2Version>
</properties>