0

我不知道这里发生了什么。也许我已经盯着这段代码太久了。

我的查询如下:

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(标记为Aand B)时,它们是不同的。

我究竟做错了什么?

4

1 回答 1

1

也许只是sw.sku_warehouse_id代替sw.warehouse_id

于 2013-04-13T02:36:52.523 回答