gpt4 book ai didi

sql - 在 INNER JOIN 中选择 TOP

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

我在 SQL Server 中创建了这个简单的数据库:

create database product_test
go

use product_test
go

create table product
(
id int identity primary key,
label varchar(255),
description text,
price money,
);

create table picture
(
id int identity primary key,
p_path text,
product int foreign key references product(id)
);

insert into product
values ('flip phone 100', 'back 2 the future stuff.', 950),
('flip phone 200', 's;g material', 1400)

insert into picture
values ('1.jpg', 1), ('2.jpg', 1), ('3.jpg', 2)

我想要的是为每个产品选择所有 产品和只有一张 图片。任何帮助是极大的赞赏。

最佳答案

为此目的,我是outer apply的粉丝:

select p.*, pi.id, pi.path
from product p outer apply
(select top 1 pi.*
from picture pi
where pi.product = p.id
) pi;

您可以包含一个 order by 来获取一张特定的图片(例如,具有最低或最高 ID 的图片)。或者,order by newid() 得到一个随机的。

关于sql - 在 INNER JOIN 中选择 TOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42444359/

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