阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 經濟部所屬事業機構_新進職員甄試_資訊:1.資訊管理 2.程式設計#103708
科目:國營事業◆1.資訊管理 2.程式設計
年份:110年
排序:0

題組內容

二、某書局採會員制販售各式國、高中參考書,系統的關聯式資料庫(Relational Database)包含4個資料表(table)如下,有底線者為主鍵:
參考書(書籍編號、書籍名稱、出版商編號、單價、會員折扣數)
出版商(出版商編號、出版商名稱、聯絡人)
銷售(銷售編號、會員編號、銷售日期、書籍編號、數量、售價、購買總額)
會員(會員編號、名字、入會日期、 聯絡電話)
若非會員,銷售資料表之欄位(會員編號)紀錄為N99,書籍之售價採參考書資料表的欄位(單價)販售; 反之,若為會員, 則採參考書資料表的欄位(單價)乘以欄位(會員折扣數)販售。
針對下列問題,請分別寫出SQL指令來進行查詢。(3題,每題5分,共15分)

申論題內容

(三)書籍編號B6188為新出版上架之參考書,店員第一天將會員折扣數由92折誤輸入為 82折,直到當天盤點結帳才發現,請問當天書局少收了多少錢 ?

詳解 (共 7 筆)

詳解 提供者:目標國營聯招

SELECT SUM(銷售.數量*參考書.單價*0.1)
FROM 銷售,參考書
WHERE NOT 銷售.會員編號=N99 AND 銷售.書籍編號=B6188 AND 參考書.書籍編號=銷售.書籍編號;

不確定SUM內可不可以直接+-*/
原本92打成82也就是少收10%的錢
假如原本100元 也就是92元變82元
那直接把原本的數量*單價*0.1應該就是少收的了

已經指定銷售.書籍編號=B6188的情況下 還有需要指定參考書.書籍編號=銷售.書籍編號?

詳解 提供者:WADDDDDDDDD CHANG

Select (a.單價*b.總購買數量*0.92)-(b.銷售總額) 

From 

(Select *

From 參考書

Where 書籍編號=‘b6188’)a,

(Select sum(購買總額) as 銷售總額,

sum(數量) as 總購買數量,

書籍編號

From 銷售

Where 書籍編號=‘b6188’)b

Where a.書籍編號=b.書籍編號

詳解 提供者:Zong Huang

首先針對會員跟非會員判斷

1. 非會員買的書籍是原價, 所以沒有折扣問題

2. 會員購買時短收了10%的金額(原本是92%->82%), 所以取出B6188賣給會員的總銷售金額, 取出其中的10/82份即為短收金額

所以僅針對第二條狀況來計算短收的部分撰寫SQL:

select sum(購買總額)/82*10 from 銷售
where 會員編號 != 'N99'and 書籍編號 = 'B6188'

詳解 提供者:Grace
SELECT SUM(S.數量*B.單價*0.1) AS 少收金額
FROM 參考書 AS B, 銷售 AS S
WHERE S.書籍編號=B.書籍編號 AND S.銷售日期='那一天' AND 書籍編號='B6188' AND 會員編號<>'N99'
詳解 提供者:WellenChen

SELECT sum(購買總額)/0.82*0.92-sum(購買總額)
或是
SELECT sum(購買總額)/0.82*0.1
FROM 銷售
WHERE 會員編號 != 'N99' and 書籍編號 = 'B6188'
購買總額/0.82=原價的總額再*0.92=打92折的總額
或是原價總額*0.1(價差) 來自B7的想法
不知道select那行可不可以這樣打
知道的人再給我回饋
拜託了

詳解 提供者:Sun

select sum(數量) * 參考書.單價 * 0.1

from 銷售

join 參考書 on 銷售.書籍編號 = 參考書.書籍編號

where 書籍編號 = 'B6188'

詳解 提供者:111考生

SELECT SUM (購買總額*0.1) AS 少收這麼多錢

FROM 銷售

WHERE 書籍編號=B6188 AND (NOT 會員編號=N99)