gpt4 book ai didi

sql - 将表 SQL Server 与重复项连接起来

转载 作者:行者123 更新时间:2023-12-04 05:25:25 24 4
gpt4 key购买 nike

我有一张 table

col1

1
2

和其他表
col1    col2    col3

1 1 data value one
1 2 data value one
2 3 data value two

我想加入两个表以获得以下结果
col1  col2  col3

1 1 data value one
2 3 data value two

第二个表有重复,但我只需要加入一个(随机)。我尝试过内部连接、左连接、右连接,并且总是返回所有行。其实我用的是 SQL Server 2008 .

最佳答案

您可以使用 ROW_NUMBERORDER BY NEWID() 一起使用的功能为 col1 中的每个值获取一个随机行:

WITH CTE AS
( SELECT Col1,
Col2,
Col3,
[RowNumber] = ROW_NUMBER() OVER(PARTITION BY Col1 ORDER BY NEWID())
FROM Table2
)
SELECT *
FROM Table1
INNER JOIN CTE
ON CTE.Col1 = table1.Col1
AND CTE.RowNumber = 1 -- ONLY GET ONE ROW FOR EACH VALUE

关于sql - 将表 SQL Server 与重复项连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250247/

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