是否有一个技巧不仅可以在选择列时使用 DISTINCT,还可以在每个条目中包含的字符串上使用 DISTINCT?

发布于 2024-12-14 04:07:19 字数 326 浏览 1 评论 0原文

我使用

SELECT Distinct  [Material]  FROM Mytable

并得到以下结果:

Material
 --------------
 1469CDHKabef
 237BI
 237BI5

有没有办法进一步过滤此输出,以便各个字符串(行)中出现的每个字母仅出现一次?

所需的输出是:

12345679BCDHKIabef

或者更好的是,将整个内容切碎,以便每个字母/数字最终都在自己的一行中

I use

SELECT Distinct  [Material]  FROM Mytable

and get the following result:

Material
 --------------
 1469CDHKabef
 237BI
 237BI5

Is there way to filter this output further so that each letter that appears in the individual strings (row) only appears once?

Desired output is:

12345679BCDHKIabef

or even better, get the whole thing choped upp so that each letter/number ends up in a row of its own

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好多鱼好多余 2024-12-21 04:07:19

下面使用 master..spt_values 作为临时辅助数字表,仅用于演示目的。 您应该创建自己的。

WITH Numbers(N) AS
(
SELECT number
FROM master..spt_values
WHERE type='P' AND number > 0
), Materials(Material) As
(
SELECT '1469CDHKabef' UNION ALL
SELECT '237BI' UNION ALL
SELECT '237BI5'
)
SELECT DISTINCT SUBSTRING(Material,N,1)
FROM Materials
JOIN Numbers ON N <= LEN(Material)

The below uses master..spt_values as an adhoc auxiliary numbers table just for demonstration purposes. You should create your own.

WITH Numbers(N) AS
(
SELECT number
FROM master..spt_values
WHERE type='P' AND number > 0
), Materials(Material) As
(
SELECT '1469CDHKabef' UNION ALL
SELECT '237BI' UNION ALL
SELECT '237BI5'
)
SELECT DISTINCT SUBSTRING(Material,N,1)
FROM Materials
JOIN Numbers ON N <= LEN(Material)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文