gpt4 book ai didi

sql使用join时删除重复记录

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

我有一个无法更改的以下表结构。

enter image description here

我正在尝试加入这些表,并希望避免重复记录。

 select p.ProductId,p.ProductName,inv.Details from Products p
inner join Inventory inv on(p.ProductId = inv.ProductId)

这里是SqlFiddle

最佳答案

从 sqlserver 2008+ 开始,您可以使用交叉应用。

通过交叉应用,您可以在子选择内进行连接,如此处所示。通过 top 1,您可以从表 Inventory 中获得最多 1 行。还可以向子选择添加“order by”语句。但这似乎超出了您的问题范围。

select p.ProductId,p.ProductName,x.Details 
from Products p
cross apply
(SELECT top 1 inv.Details FROM Inventory inv WHERE p.ProductId = inv.ProductId) x

关于sql使用join时删除重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22325405/

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