2014-02-18 98 views
0

是否有人能够帮助我基于附加图像中的模式构建查询?我一整个早上都在这里,但却无法加入,无法继续工作。需要帮助编写需要表加入的查询

我想做什么就能做的是选择从表1中,其中表4 ID表1中所引用的所有行不可用表所引用的表5 ID 1.

请让我知道如果这没有意义,任何帮助将不胜感激!

Database schema diagram

+0

到目前为止你写的是什么 – AgRizzo

+0

没有什么能达到我想要的!我尝试了各种连接配置,但没有成功。我真的无法绕过联接。我会发布一些我尝试过的例子,但是我没有将它们删除,因为它们不起作用。 – Michael

+1

分享样本数据和结果集。您的问题陈述令人困惑:选择表1中的所有行,其中表1中引用的表4 ID不可用于表1中引用的表5中的ID。“我不知道表5中的**不可用** 。使用sqlfiddle.com共享示例数据。另外,虽然JOIN可能效率最高,但这种解决方案可能可以通过“IN”或“EXISTS”功能来完成 – AgRizzo

回答

0

我终于明白了这一点。我需要的查询是:

SELECT Table1.Table1_ID 
    FROM Table1 
    INNER JOIN Table5 
     ON Table1.Table5_ID = Table5.Table5_ID 
    INNER JOIN Table2 
     ON Table5.Table2_ID = Table2.Table2_ID 
    INNER JOIN Table3 
     ON Table2.Table2_ID = Table3.Table2_ID 
    INNER JOIN Table4 
     ON Table3.Table3_ID = Table4.Table3_ID 
    WHERE Table4.Table4_ID <> Table1.Table4_ID 
    AND Table1.Table5_ID = 5 
0

我不能完全肯定,我ahve明白的问题,但确实这个查询适合您的需求?

SELECT * 
    FROM Table1 
    WHERE Table1.Table4_ID NOT IN (SELECT t1.Table5_ID 
            FROM Table1 as t1 
           )