我不知道这里发生了什么。也许我已经盯着这段代码太久了。
我的查询如下:
CREATE VIEW v_sku_best_before AS
SELECT
sw.sku_id,
sw.sku_warehouse_id "A",
sbb.sku_warehouse_id "B",
sbb.best_before,
sbb.quantity
FROM SKU_WAREHOUSE sw
LEFT OUTER JOIN SKU_BEST_BEFORE sbb
ON sbb.sku_warehouse_id = sw.warehouse_id
ORDER BY sbb.best_before
如果有帮助,我可以发布表定义,但我不确定它会不会。可以说这SKU_WAREHOUSE.sku_warehouse_id
是一个身份列,并且SKU_BEST_BEFORE.sku_warehouse_id
是使用该身份作为外键的子项。
这是我运行查询时的结果:
+--------+-----+----+-------------+----------+
| sku_id | A | B | best_before | quantity |
+--------+-----+----+-------------+----------+
| 20251 | 643 | 11 | <<null>> | 140 |
+--------+-----+----+-------------+----------+
(1 row)
连接指定sku_warehouse_id
列必须相等,但是当我从每个表中提取 ID(标记为A
and B
)时,它们是不同的。
我究竟做错了什么?