【发布时间】:2013-11-18 13:33:47
【问题描述】:
我会尽量说清楚,看看我是否能表达我的问题。
我有表 A 和 B。两者都有一个名为 cod(int) 的字段,但在表 B 中,cod 有一个根据 cod 编号变化的数字。
示例:
表 A 鳕鱼=12345
表 B 鳕鱼=123459
或
表 A 鳕鱼=1234
表 B 鳕鱼=12349
我尝试使用以下查询:
SELECT a.cod, a.qtd, a.vlr, a.status, b.desc
FROM tableA a
INNER JOIN tableB b ON SUBSTR(b.cod,1,LENGTH(a.cod))=a.cod
WHERE a.coddistrib=2544 AND a.nrolote=41862 AND a.nropedido=5
GROUP BY a.cod
问题是鳕鱼的长度可以是 4 或 5 没有数字。所以下面的两个说法都是正确的:
SUBSTR(123456,1,5)=12345
SUBSTR(123456,1,4)=1234
我想过像 IF(LENGTH(b.cod) = LENGTH(a.cod)+1, ) 之类的东西,但我不知道这如何在查询中工作。
有解决这个问题的建议吗?
【问题讨论】: