繁体   English   中英

在查询中帮助JOIN

[英]Help with JOINs in query

SELECT * FROM
Table_A
LEFT JOIN Table_B
 ON (Table_A.A_ID = Table_B.A_ID)
INNER JOIN Table_C ON (Table_C.C_ID = Table_B.C_ID)
WHERE Table_A.ID = 3

目前返回0行。

我怎样才能设置它,所以我总是得到Table_A,即使Table_B或Table_C没有行。 我仍然希望保持Table_B和Table_C之间的INNER JOIN,这样我就不会在没有C的情况下获得B.

子查询表B和表C.例如

SELECT * 
FROM Table_A 
LEFT JOIN 
    (SELECT * 
         FROM Table_B
         INNER JOIN Table_C ON (Table_C.C_ID = Table_B.C_ID)
    ) B_AND_C ON (Table_A.A_ID = B_AND_C.A_ID)
WHERE Table_A.ID = 3

您可能不必使用内联视图。 我现在不在MySQL的机器前,所以我无法检查,但你可以试试

SELECT *
FROM table_A a 
LEFT JOIN (table_B b 
    INNER JOIN table_C c
    ON b.c_id = c.c_id)
ON a.b_id = b.b_id
WHERE 
    a.a_id =3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM