也许我过于复杂了......
我只需要一个“简单”查询来选择一列,但只返回不同的行。
这是关键,如果它们相似,则需要排除它们,而不仅仅是完全匹配。
例如,这是我当前的查询
select distinct channel from audio_srcs order by channel
诀窍是返回类似下面的内容
Channel
--------
1001
1003
1003 <Description@unitid>
1004
1004 <Description@unitid>
我想要显示1003行中的唯一一行,以及1004行中的一行(例如)。我不关心它返回哪一个。
我想要的最终结果如下:
Channel
---------
1001
1003
1004
etc.
答案 0 :(得分:7)
SELECT distinct left(Channel, 4) as Channel -- or maybe first 5 characters
from audio_srcs
order by channel
答案 1 :(得分:3)
我会把分隔符作为区别。您只需要列中的第一个标记:
SELECT distinct left(Channel,
(case when charindex(' ', channel) <= 0 then len(channel)
else charindex(' ', channel)
end
)
) as Channel -- or maybe first 5 characters
from audio_srcs
order by channel
我已经使用了SQL Server版本的字符串函数。