oracle判断同表同条件查出两条数据,根据长短判断差异

 目标:同一个物料,账套不同,排查同料号有差异的规格名称

在Oracle数据库中,如果你想查询同一张表中两条数据某个字段的长度不同的情况,你可以使用JOIN语句或者窗口函数(如ROW_NUMBER()RANK()DENSE_RANK()等)结合GROUP BYHAVING子句来实现。

使用JOIN和聚合函数

这种方法通过自连接表来比较同一字段在不同记录中的长度。

SELECT a.ima01, a.ima021 AS ima021_a, b.ima021 AS ima021_b,
       LENGTH(a.ima021) AS length_a, LENGTH(b.ima021) AS length_b
FROM v_ima_oa a
JOIN v_ima_oa b ON a.ima01 = b.ima01 
WHERE LENGTH(a.ima021) <> LENGTH(b.ima021);

表名v_ima_oa,ima021规格,ima01料号
oracle判断同表同条件查出两条数据,根据长短判断差异_第1张图片

你可能感兴趣的:(SQL篇,oracle,数据库)