大学生

时间:2017-09-27 13:19:45

标签: mysql sql

我的小组正在学习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)
);

2 个答案:

答案 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)

解决了没有正确添加数量和价格的问题

对不好的语法表示抱歉,但我不是来自英语国家。