我将 MySql 数据库连接到我的 Java 应用程序。我的用户可以选择餐食、餐食类别、数量、写备注和订购餐食。我将该订单存储在 table 中usluga_hrana
。目前我只从事餐饮服务,但我也有其他服务,如饮料服务、叫醒服务等。这就是为什么我需要一张表来处理来自不同服务的所有订单,它被称为narudzba
. 现在我需要在一个查询中显示所有这些属性的值:(broj_sobe
房间号,表 narudzba),id_narudzba
(id 顺序,表 narudzba),naziv_kategorija
(类别名称,表 kategorija_jela),(naziv_hrane
用餐名称,表 naziv_jela),kolicina
(数量,表 usluga_hrana),napomena
(注意,表 usluga_hrana),datum_vrijeme
(日期和时间,表 usluga_hrana)和izvrseno
(完成,表 narudzba)。问题是所有这些属性都在不同的表中,当我执行查询时,它会向我显示多个订单、餐点等值。
我的表是这样连接的:
PK id_usluga
(table usluga
) is FK id_usluga
in table narudzba
PK id_usluga
(table usluga
) is FK id_usluga
in table usluga_hrana PK id_kategorija
(table kategorija_jela
) is FK id_kategorija
in table usluga_hrana
PK id_hrana
(table naziv_jela
) is FK id_hrana
in table usluga_hrana PK id_kategorija
(table kategorija_jela
) is FK id_kategorija
in表 naziv_jela
这是我的表的专辑和具有多个值的查询结果:http: //imgur.com/a/6grPN
这是我的其他表的专辑: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
我觉得我的查询不好...