我的小组正在学习SQL,我们已经制作了一些表格,然后对作业进行了一些查询。
分配是:定义一个显示每个订单的客户,订单和总金额的视图。
以下是我们尝试(不起作用)的示例。
create view vetsje as
select cus_lname, cus_fname, cus_email, orders.order_id, order_status,
count(ol_quantity) * prod_price as total_price
from customer
inner join orders on customer.cus_id = orders.cus_id
inner join orderline on orders.order_id = orderline.order_id
inner join product on orderline.prod_id = product.prod_id
group by order_id;
以下是我们的表格:
create table if not exists customer (
cus_id int(5) not null auto_increment,
cus_lname varchar(30) not null,
cus_fname varchar(30) not null,
cus_pnumber int(12),
cus_address varchar(50) not null,
cus_email varchar(50),
constraint customer_pk primary key (cus_id)
);
create table if not exists orders (
order_id int(5) not null auto_increment,
order_date date,
order_status boolean default false,
cus_id int(4) not null,
foreign key (cus_id) references customer(cus_id),
constraint order_pk primary key (order_id)
);
create table if not exists product (
prod_id varchar(10) not null,
prod_name varchar(20),
prod_price int(10),
constraint product_pk primary key (prod_id)
);
create table if not exists orderline (
order_id int(5) not null,
prod_id varchar(10) not null,
ol_quantity int(10),
foreign key (order_id) references orders(order_id),
foreign key (prod_id) references product(prod_id),
constraint orderLine_pks primary key (order_id,prod_id)
);
答案 0 :(得分:0)
从没有错误的情况看它看起来像计算和分组将是你的问题,试试这个:
Results.objects.filter(date=date.today()).values('result').annotate(passed=Count('result'), failed=Count('result'))
答案 1 :(得分:0)
感谢您的帮助和 感谢xQbert解决了我的问题。
更改
count(ol_quantity) * prod_price
与
sum(ol_Quantity * prod_Price)
解决了没有正确添加数量和价格的问题
对不好的语法表示抱歉,但我不是来自英语国家。