我在解决这个问题时遇到了一些麻烦。
"选择所有人及其订单,显示他们的名字,ID(产品名称和金额)非常重要。如果一个人使用相同的商品订购了2个订单,您只想显示1个订单,而是将两个订单的金额加在一起。"
这是我到目前为止所做的,但我无法理解如何将多个订单显示为1,并将金额加在一起:
SELECT p.navn, p.id, v.varenavn, o.antal
FROM Vare as v
INNER JOIN Ordre as o
ON v.vareid = o.v_id
INNER JOIN Person as p
ON o.p_id = p.id
这些是表格:
瓦尔:
create table Vare(
vareid int identity(1,1) primary key,
nummer int,
varenavn nvarchar(100),
højde int,
vægt int,
pris money,
dato nvarchar(20),
datotil nvarchar(20),
)
勋章:
create table Ordre(
ordreid int identity(1,1) primary key,
dato date,
tid int,
antal int,
totalpris money,
betalingsfrist date,
rabatgruppe int,
v_id int foreign key references Vare(vareid) not null,
p_id int,
)
人:
create table Person(
id int identity(1,1) primary key,
navn nvarchar(30),
vejnavn nvarchar(50),
postnr varchar(10),
bynavn nvarchar(50),
tlf int,
kategori int,
)
答案 0 :(得分:1)
你可以试试。
sum
所有antal和group by
命令。
SELECT p.navn, p.id, v.varenavn, SUM(o.antal)
FROM Vare as v
INNER JOIN Ordre as o
ON v.vareid = o.v_id
INNER JOIN Person as p
ON o.p_id = p.id
GROUP BY
p.navn, p.id, v.varenavn