繁体   English   中英

合并同一列中的值

[英]Combine values from same column

我有一个具有以下结构的表:

Type    Value
A       abc
A       def
A       xyz

我想要一个结果集,它将是“值”的所有可能组合,但也应该是不同的。

结果集:

Value
abc def
abc xyz
def xyz
abc def xyz

如果结果集具有“ abc def”,则我不希望显示“ def abc”。 即使这些是2个不同的值,这些对我来说都是重复的。 我坚持两件事:

  1. 如何消除重复?
  2. 在上面的表结构中,我有一个带有3个值的类型“ A”。 同一张表将具有多种类型,每种类型将具有不同数量的值。 例如,我将使用带有4个值的Type“ B”。 如何计算每种类型需要迭代多少次。

任何帮助将不胜感激。

请尝试以下查询-

WITH CTE (id,Value)
AS
(
    SELECT DISTINCT 1,Value 
    FROM your_table 
)


SELECT A.Value + ' '+ B.Value  AS Value
FROM CTE A 
INNER JOIN CTE B ON A.id = B.id
WHERE (A.Value <> B.Value AND A.Value > B.Value) 

UNION ALL

SELECT A.Value + ' '+ B.Value  + ' '  + C.Value AS Value
FROM CTE A 
INNER JOIN CTE B ON A.id = B.id
INNER JOIN CTE C ON A.id = C.id
WHERE 
(
    A.Value  <>B.Value AND A.Value  >B.Value 
    AND A.Value <> C.Value AND  A.Value > C.Value 
    AND B.Value <> C.Value AND B.Value > C.Value
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM