[英]Ambiguous column name 'DELETED' when filtering
早上好。
不用多说,我将加入两个表,每个表都包含一行具有相同名称的字段已删除。 我能够加入两个表并获得结果,问题是当我尝试过滤掉那些被删除的“X”而不是“NULL”的订单时,我得到了不明确的列名。
SELECT
OCRI.DDORD#,
OCRH.DCBCUS,
OCRI.DELETED
from ocri
join OCRH on DCORD# = DDORD#
where OCRI.dditst <> 'C'
and DELETED <> 'X'
我已经尝试过 OCRI.DELETED <> 'X' 但我没有得到任何结果。
我希望能够过滤掉 X
DDORD# DCBCUS DELETED
194991 150482 NULL
195000 263609 X
195381 263609 X
195387 246045 NULL
195724 146551 NULL
限定查询中的所有列引用。 您没有提供足够的信息来了解哪些列属于哪里。
然后,您需要处理NULL
值。
一个例子:
SELECT rh.DDORD#, ri.DCBCUS, ri.DELETED
FROM ocri ri JOIN
OCRH rh
ON ri.DCORD# = rh.DDORD#
WHERE rh.rhdditst <> 'C' AND
(ri.DELETED <> 'X' OR ri.DELETED IS NULL);
当然,我不知道表格是什么样子的,所以资格可能是错误的。
请注意,标准 SQL 具有NULL
比较,某些数据库支持该比较。 这看起来像:
WHERE rh.rhdditst <> 'C' AND
ri.DELETED IS DISTINCT FROM 'X';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.