Sql 不同表格的总价
我有一个客户、物品和订单的数据库。这是一个考试项目,所以可能不是现实生活中最好的。我有这个问题。我想要一份我们所有顾客都买了什么的清单和总价,但我什么都做不到Sql 不同表格的总价,sql,Sql,我有一个客户、物品和订单的数据库。这是一个考试项目,所以可能不是现实生活中最好的。我有这个问题。我想要一份我们所有顾客都买了什么的清单和总价,但我什么都做不到 select Kunder.navn,Ordre.*, Indeholder.antal, Varer.* from Kunder join Ordre on Kunder.kunde_nr=Ordre.kunde_nr join Indeholder on Ordre.ordre_nr=Indeholder.ordre_nr join
select Kunder.navn,Ordre.*, Indeholder.antal, Varer.*
from Kunder
join Ordre on Kunder.kunde_nr=Ordre.kunde_nr
join Indeholder on Ordre.ordre_nr=Indeholder.ordre_nr
join Varer on Varer.vare_nr=Indeholder.vare_nr
where er_industri=0
order by bestillingsdato
我试过很多,比如:
sum (Indeholder.antal * Varer.privat_pris) as total
group by Ordre.ordre_nr
但我就是找不到任何我试过的东西,给我我想要的
我希望你能帮助我,也希望你能理解我的意思(我不是以英语为母语的人)
我已经上传了我们数据库的图像,因此您可以看到我们数据库的外观:
为了清楚起见,只需翻译一下:
Kunder = customers
Varer = items
Ordre = orders
Indeholder = includes
只需在GROUPBY子句上添加更多列。 除了聚合函数[SUM()、COUNT()、AGV()]之外,group by子句中必须存在相同的列列表 在select子句中: 因此,一般来说:
select <col1, col2, col3...>, SUM(...)
from ...
group by <col1, col2, col3...>
您还可以按客户分组:
select Kunder.navn, Ordre.ordre_nr, sum (Indeholder.antal * Varer.privat_pris) as total
from Kunder
join Ordre on Kunder.kunde_nr=Ordre.kunde_nr
join Indeholder on Ordre.ordre_nr=Indeholder.ordre_nr
join Varer on Varer.vare_nr=Indeholder.vare_nr
where er_industri=0
group by Kunder.navn, Ordre.ordre_nr
select Kunder.navn, sum (Indeholder.antal * Varer.privat_pris) as total
from Kunder
join Ordre on Kunder.kunde_nr=Ordre.kunde_nr
join Indeholder on Ordre.ordre_nr=Indeholder.ordre_nr
join Varer on Varer.vare_nr=Indeholder.vare_nr
where er_industri=0
group by Kunder.navn
谢谢你,这真的帮了我们的忙!:)