gpt4 book ai didi

sql - 在没有反向重复的情况下在 SQL Server 中生成一组排列

转载 作者:行者123 更新时间:2023-12-02 01:32:11 25 4
gpt4 key购买 nike

代码:

Col1
----
A1
A2
A3
B1
B2
C1
D1
D2

(我还有其他专栏)

我正在尝试创建所有可能的组合,不包括自身(即 COL1:A1 COL2:A1),不包括以相反的方式再次使用它(即 A1 A2、A2、A1)...它们将位于单独的列中,并且有是否还包括其他列。我是新手,对我放宽点:)

到目前为止我有:

SELECT 
a.Col1, a.[differentcolumn],
b.Col1, b.[differentcolumn]
FROM
[dbo].code a
CROSS JOIN
[dbo].code b
WHERE
a.[col1] != b.[col1]

这差不多了,但它给了我:

A1    A2
A2 A1

我只想要一种方式(第一种)。我该怎么做?

最佳答案

我不是很清楚你的要求,但你只需要这个吗?

SELECT 
a.Col1, a.[differentcolumn],
b.Col1, b.[differentcolumn]
FROM
[dbo].code a
INNER JOIN [dbo].code b ON a.[col1] < b.[col1]

这将在 col1 上将表连接到自身, 但使用 <意味着您将看不到左侧副本具有 col1 的值大于或等于右边的副本,这似乎是你想要的。

关于sql - 在没有反向重复的情况下在 SQL Server 中生成一组排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com