gpt4 book ai didi

sql - 如果连接存在则从连接表返回值

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

我有两个表,下面有列

库存:

Id   Name    Price
1 Item1 1€

和表

库存价格:

Id      Price
1 2€

我只想为每个项目选择一行。如果加入存在,那么我需要从我的第一个表“库存”中的这个“库存价格”中选择价格。到现在为止,如果“InventoryPrices”与第一个表“Inventory”连接,它会为每个 ID 返回两行。

Same IDs

我如何检查 join 是否不为空然后显示第二个表价格的一行

最佳答案

要检查 InventoryPrices 表中是否存在记录,您需要使用 LEFT JOIN 要为每个 Id 只获取一行,您可以使用 ROW_NUMBER() 就像下面的查询。

 SELECT   *             
from
(
SELECT t1.id,
t1.NAME,
COALESCE(t2.price,t1.price) AS price ,
Row_number() OVER(partition BY t1.id ORDER BY t1.id) rn
FROM inventory t1
LEFT JOIN inventoryprices t2
ON t1.id=t2.id
) t
WHERE t.rn=1

关于sql - 如果连接存在则从连接表返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54614945/

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