Sql 内部联接中的FROM子句中存在重复的表名(csuser.t2)

Sql 内部联接中的FROM子句中存在重复的表名(csuser.t2),sql,database,inner-join,informix,Sql,Database,Inner Join,Informix,下面是抛出错误的查询:作为内部联接中FROM子句中的重复表名(csuser.t2) 有人能帮忙吗??这是informix DB。您已将两个别名定义为t2,一个用于rx,另一个用于子查询。尝试将第二个t2更改为其他类似t3的内容 SELECT t1.rxno, t1.txno, t2.create_datetime FROM mrgrxtxt t1 JOIN rx t2 ON t1.rxno = t2.rxno INNER JO

下面是抛出错误的查询:作为内部联接中FROM子句中的重复表名(csuser.t2)


有人能帮忙吗??这是informix DB。

您已将两个别名定义为t2,一个用于rx,另一个用于子查询。尝试将第二个t2更改为其他类似t3的内容

SELECT  t1.rxno, 
        t1.txno, 
        t2.create_datetime 
    FROM    mrgrxtxt t1
    JOIN rx t2 ON t1.rxno = t2.rxno
    INNER JOIN(
        SELECT rxno, 
               t1. MIN(txno) AS min_txno,
               t2. MAX(create_datetime) AS latest_txno
        FROM mrgrxtxt t1 
        JOIN rx t2 ON t1.rxno = t2.rxno
        GROUP BY 1
    ) t3 ON t1.rxno = t3.rxno 
    WHERE   t3.min_txno > 8 AND t2.create_datetime = t3.latest_txno;

ON子句具有无效的表引用。现在是错误,请尝试编辑的错误。这可能是因为隐式连接。感谢Ramin的建议强烈建议不要尝试将表1、表2中的旧式
符号与表1中的显式连接符号
混合在一起。请在…
上连接表2。
SELECT  t1.rxno, 
        t1.txno, 
        t2.create_datetime 
    FROM    mrgrxtxt t1
    JOIN rx t2 ON t1.rxno = t2.rxno
    INNER JOIN(
        SELECT rxno, 
               t1. MIN(txno) AS min_txno,
               t2. MAX(create_datetime) AS latest_txno
        FROM mrgrxtxt t1 
        JOIN rx t2 ON t1.rxno = t2.rxno
        GROUP BY 1
    ) t3 ON t1.rxno = t3.rxno 
    WHERE   t3.min_txno > 8 AND t2.create_datetime = t3.latest_txno;