我有一张桌子,让我们说桌子上有项目编号的项目:
12345
12345_DDM
345653
2345664
45567
45567_DDM
我在创建查询时遇到问题,该查询将获取所有_DDM和具有相同前缀数字的相应项。
所以在这种情况下,我希望返回12345和12345_DDM等
答案 0 :(得分:6)
使用GPG.vhd(21): Illegal sequential statement.
GPG.vhd(31): No feasible entries for subprogram "anzahl_1".
Bad expression in left operand of infix expression "=".
GPG.vhd(31): Type error resolving infix expression "=" as type std.STANDARD.BOOLEAN.
查找带有_DDM的行。
使用like
查找数字也具有_DDM行的行。
的 working demo 强>
EXISTS
答案 1 :(得分:0)
尝试此查询:
--sample data
;with tbl as (
select col from (values ('12345'),('12345_DDM'),('345653'),('2345664'), ('45567'),('45567_DDM')) A(col)
)
--select query
select col from (
select col,
prefix,
max(case when charindex('_DDM', col) > 0 then 1 else 0 end) over (partition by prefix) [prefixGroupWith_DDM]
from (
select col,
case when charindex('_DDM', col) - 1 > 0 then substring(col, 1, charindex('_DDM', col) - 1) else col end [prefix]
from tbl
) a
) a where [prefixGroupWith_DDM] = 1