繁体   English   中英

内部连接中间结果上的ALias

[英]ALias on an inner join intermediate result

给联接结果分配别名时,我的SQL查询失败。

这是示例:

SELECT 
    a, b, c 
FROM 
    ((q 
INNER JOIN 
    r ON q.x = r.y) AS IntermediateResult 
INNER JOIN 
    s ON IntermediateResult.a = s.a)

基本上,别名似乎在第二个内部联接中无法识别。

我正在使用Mysql

您根本不需要子查询:

SELECT a, b, c
FROM q INNER JOIN
     r
     ON q.x = r.y INNER JOIN
     s
     ON q.a = s.a;  -- This is either q.a or r.a

除非您正在使用MS Access,否则括号也是不必要的。

您不必将内部联接的结果标记为中间结果,因为您可以直接联接到表:

SELECT a,b,c FROM (
    SELECT * FROM q
    INNER JOIN r  AS IntermediateResult
            ON q.x=r.y
    INNER JOIN s
            ON IntermediateResult.a=s.a
) AS joined_qrs

暂无
暂无

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

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