我试图细分id字段(例如aaabbb123为aaa bbb和123),并与表中的另一个字段进行比较,以检查它是否具有所需的值(如果第一个八位字节是aaa,那么另一个字段应该有值1,如果第一个八位字节是zzz,那么另一个字段应该有值2)如果值不匹配,我将尝试返回这些记录。
这就是我迄今为止所尝试的。
SELECT LEFT([SUB_ID], 3) AS TrimmedColumn
FROM Table1
我可以用这个得到第一个八位字节,但我不知道如何与另一个字段进行比较,得到与期望值不匹配的记录。
详细问题描述:
假设第一个八位字节是aaa,那么字段“a”应该有值1,如果没有值1,我需要返回这些记录,以此类推。
类似地,如果假设第一个八位字节是zzz,那么字段“a”应该有值2,如果没有,我需要返回这些记录,依此类推。
我还想对第二个八位字节和一个不同的字段“b”执行相同的操作,以检查它是否具有基于八位字节的所需值。
这是一个示例表
我的方向对吗?有没有一个功能可以做到这一点?我应该如何优化这个问题的解决方案?
1条答案
按热度按时间omqzjyyz1#
生成提取所需部分并连接到Map表的查询。若数据字段和Map表中的值不匹配,则返回记录。我想你需要做3个查询。下面是一个例子:
使用mid()函数解析其他部分。