Select 引用相同主键的两个外键的名称 table

Select name of two foreign keys referring to same primary key table

我有库存交易tableTransaction_Log

列是 log_idto_warehousefrom_warehouse,两个外键都引用仓库 table OWHS,列 whs_id , whs_name

我需要输出这些列:log_idto_warehouse_namefrom_warehouse_name

试过这个

SELECT t.log_id, w1.whs_name AS to_warehouse_name, w2.whs_name from_warehouse_name
FROM OWHS w1, OWHS w2
 INNER JOIN Transaction_Log t ON w1.whs_id = t.to_warehouse AND w2.whs_id = t.from_warehouse

但是它抛出一个错误

invalid table name: w1.whs_id

我不确定查询是否正确输出我想要的内容,但错误已经让我失望了。

我使用 SAP HANA 数据库,但为此我稍微更改了列名 post。几年后我也将回归数据库编程,所以如果这是一个基本问题,我深表歉意,但我的谷歌搜索 returns 与我想要的完全不符。

从不FROM 子句中使用逗号。时期。将查询写为:

SELECT t.log_id, w1.whs_name AS to_warehouse_name, w2.whs_name from_warehouse_name
FROM OWHS w1 JOIN
     Transaction_Log t
     ON w1.whs_id = t.to_warehouse JOIN
     OWHS w2
     ON w2.whs_id = t.from_warehouse;

尽管您 可以 也可以通过将 , 替换为 CROSS APPLY 来解决问题,但这只会混淆逻辑。您正在寻找两个简单的 JOINs.