gpt4 book ai didi

mysql - 与多列的一对多关系

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:00 25 4
gpt4 key购买 nike

我是 SQL 的新手,对它了解不多,但我学得很快。我有一个数据库,其中包含项目 ID 和手头数量 (qoh) 以及其他一些我没有问题的列。问题是,当我告诉它给我带有 qoh 列的项目 id 列时,它为每个单独的项目提供了近 500 行,因为 qoh 不同所以我实际上有大约 1200 万行。现在,我正在寻找的是每件商品的最新数量。我假设这是一个一对多的关系,因为我不熟悉 SQL,所以我什至不知道从哪里开始。这是我目前所拥有的:

SELECT DISTINCT item_id, qty_on_hand
FROM database.inv_mast, database.inv_loc
ORDER BY item_id ASC

哦,我正在使用 Microsoft SQL Server Management Studio

这是我想要的:

| item_id |qty_on_hand|
|123456789| 93 |
|456789123| 87 |
|789456123| 74 |

等等

但我得到的是:

| item_id |qty_on_hand|
|123456789| 85 |
|123456789| 82 |
|123456789| 92 |

等等

我得到相同的 item_id 至少 4000 次,因为自从我们拥有该项目以来,数据库几乎每一秒都在告诉我 qoh 是什么。我只想要运行查询时仓库中的内容。对于所有的菜鸟,我深表歉意,但我真的不懂 SQL。

最佳答案

您正在使用“,”进行交叉连接。我认为您需要做的是内部联接。

SELECT DISTINCT im.item_id, qty_on_hand
FROM database.inv_mast im
INNER JOIN database.inv_loc in on im.item_id = in.item_id
ORDER BY item_id ASC

您还应该查看左连接和右连接。

所以总而言之,使用“,”就像使用交叉连接

您确实需要学习联接才能理解这些查询,请查看下面的站点。

http://www.w3schools.com/sql/sql_join.asp

关于mysql - 与多列的一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19576207/

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