gpt4 book ai didi

sql - 对称交叉连接

转载 作者:行者123 更新时间:2023-12-04 00:46:08 26 4
gpt4 key购买 nike

我正在尝试提取所有对说 i,j从表中的每个元素针对同一个表中的每个元素,这里是我的查询:

select a.Id L,b.id R into #cross from MyTable a cross join mytable b 

我的情况是 i,j == j,i所以只需要一半的记录。我天真的尝试是:
select a.Id L,b.id R into #cross from MyTable a cross join mytable b 
where not exists
(select * from #cross c where c.L=R and c.R=L)

但是我在插入时无法查询目标表,如 SQL Server 所说:
The SELECT INTO statement cannot have same source and destination tables

我怎样才能以有效的方式做?

编辑
仅供引用,我说“我需要一半的记录”,这是错误的,考虑到 i,j == j,i后的记录数是 n*(n+1)/2

最佳答案

因此,只需调节连接,使左侧始终等于或小于!

    select a.Id L,b.id R
into #cross
from MyTable a
inner join mytable b on a.id <= b.id

关于sql - 对称交叉连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490244/

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