2017-09-27 10 views
-5

私のグループは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) 
); 
+0

JOINを試しましたか? –

+0

あなたは何がうまくいかないかについてもっと具体的にすることができますか?エラーメッセージには結果が正しくないかどうか(具体的に何が間違っているのでしょうか?) – xQbert

+2

「作業しない」は問題の説明ではありません。期待/実際の出力とエラーメッセージを追加してください。ヒント:集計関数(sum、max avgなど)と 'group by 'を使用する場合、選択されたすべての属性は' group by'または集約関数のいずれかでなければなりません。 – HoneyBadger

答えて

0

、これを試してみてください。

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 cus_lname, 
     cus_fname, 
     cus_email, 
     orders.order_id, 
     order_status; 
+0

彼らのために人々の宿題をしないでください!あなたは彼らを助けていると思うが、あなたはそうではない。 –

+0

@JohnCondeこれはとにかく助けてくれるとは思わないでしょう。グループには問題がありません。 – xQbert

0

助けてくれてありがとう xQbertが私の問題を解決してくれてありがとう。

sum(ol_Quantity * prod_Price) 

が、それは悪い文法のための右

申し訳数量と価格を添加しない問題を修正しました

count(ol_quantity) * prod_price 

を変更するが、私は英語からありませんよ話す国。

関連する問題