gpt4 book ai didi

MySQL 查询显示的数据多于预期

转载 作者:行者123 更新时间:2023-11-30 01:20:56 25 4
gpt4 key购买 nike

我有 MySql 数据库连接到我的 Java 应用程序。我的用户可以选择餐食、餐食类别、数量、写备注并订购餐食。我将该订单存储在表 usluga_hrana 中。目前我只提供餐饮服务,但我也提供其他服务,例如饮料服务、叫醒服务等。这就是为什么我需要一张表来存储来自不同服务的所有订单,其名为 narudzba。现在,我需要在一个查询中显示所有这些属性的值:broj_sobe(房间号,表 narudzba)、id_narudzba(id 顺序、表 narudzba)、naziv_kategorija (类别名称,表 kategorija_jela),naziv_hrane(餐食名称,表 naziv_jela),kolicina(数量,表 usluga_hrana),napomena code>(注意,表 usluga_hrana)、datum_vrijeme(日期和时间,表 usluga_hrana)和 izvrseno(完成,表 narudzba)。问题是所有这些属性都位于不同的表中,当我执行查询时,它会显示订单、餐食等的多个值。

我的 table 是这样连接的:
PK id_usluga(表 usluga)是表 narudzba
中的 FK id_uslugaPK id_usluga(表 usluga)是表 usluga_hrana 中的 FK id_uslugaPK id_kategorija(表 kategorija_jela)是表 usluga_hrana
中的 FK id_kategorijaPK id_hrana(表naziv_jela)是表 usluga_hrana 中的 FK id_hranaPK id_kategorija(表kategorija_jela)是表naziv_jela

中的FK id_kategorija

这是我的表的相册和具有多个值的查询结果:http://imgur.com/a/6grPN
这是我的其余 table 的相册:http://imgur.com/a/sFPie

这是我的查询:

SELECT n.broj_soba, n.id_narudzba, kj.naziv_kategorija, nj.naziv_hrane, us.kolicina,   
us.napomena, us.datum_vrijeme, n.izvrseno
FROM narudzba n
JOIN usluga u ON n.id_usluga = u.id_usluga
JOIN usluga_hrana us ON u.id_usluga = us.id_usluga
JOIN naziv_jela nj ON us.id_jela = nj.id_jela
JOIN kategorija_jela kj ON nj.id_kategorija = kj.id_kategorija
GROUP BY n.id_narudzba, us.id_usluga_hrana

我认为我的查询不好...

最佳答案

您用非英语命名表格让我们很难阅读/理解/思考,即使您已经将其翻译成英语:)

您的重复数据可能来自您的查询或数据表

我可以在您的usluga_hrana表中看到您有番茄汤(id=10)的记录,其中数量不同(4和7 )。这使得您的查询结果2行番茄汤。另一个例子,您也有 4 条希腊沙拉记录,但因为其中 3 条记录的数量相同=1,所以当查询运行时,它返回 2 行(数量 1 和 2)

不确定你想要什么,但如果你不希望查询结果重复,你不应该SELECT数量列并执行DISTINCT如果需要的话结果

关于MySQL 查询显示的数据多于预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551912/

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