5. 六、SQL:
(1) 訂票:
a. 加入到 customer 表格:
INSERT INTO customer(reservation_No, cus_name, cus_SSID,
cus_email, cus_time, cus_date, tickets)
VALUES (‘使用者所輸入的資料’)
b. 加入到 seat_info 表格:
INSERT INTO seat_info (reservation_No, train_No, seat_date,
carriage_No, seat_No, seat_dep, seat_dest)
VALUES (‘使用者所輸入的資料’)
c. 從退票表格中取出座位來訂:
SELECT TOP ‘ 多 餘 需 要 從 退 票 表 格 中 訂 的 票 數 ’ * FROM
cancel_seat WHERE train_No = ‘使用者所輸 入的車次’ AND
seat_date = ‘使用者所輸入的日期’
(2) 查詢訂票紀錄:
6. SELECT (train_No, dep_time, carriage_No, seat_date, seat_No,
seat_dep, seat_dest)
FROM customer INNER JOIN seat_info
WHERE reservation = ‘使用者輸入的流水號碼’ AND cus_SSID = ‘使用
者輸入的身分證字號’
(3) 取消所有訂票紀錄:
網頁端需先判斷所輸入的數字是否等於 0,若不符則無法刪除:
DELETE FROM customer, seat_info
WHERE reservation_No = ‘使用者所輸入的流水號碼’
(4) 取消某個座位訂票紀錄:
Memo 網頁端需先判斷所輸入的數字是否大於該使用者所訂票數,
:
若超過則顯示錯誤訊息。
UPDATE customer
SET tickets = tickets – ‘使用者所輸入需取消的票數’
WHERE reservation_No = ‘使用者所輸入的流水號碼’
DELETE FROM seat_info
WHERE IN(
SELECT TOP 3 seat_No
FROM seat_info
WHERE reservation_No = ‘使用者所輸入的流水號碼’)
(5) 查詢某一天各班的乘車人數:
SELECT train_No, SUM (tickets)
FROM customer INNER JOIN seat_info
WHERE seat_date = ‘管理者所輸入的日期’
ORDER BY train_No
(6) 管理者強制刪票功能:
DELETE FROM customer, seat_info
WHERE reservation_No = ‘管理者所輸入的流水號碼’
(7) File 輸出:
SELECT (cus_SSID, cus_name, tickets, train_No, seat_date, seat_dep,
seat_dest)
FROM ((customer INNER JOIN seat_info) INNER JOIN train_info) INNER
JOIN state_table
WHERE reservation = ‘使用者輸入的流水號碼’ AND cus_SSID = ‘使用
者輸入的身分證字號’
(8) 列出時刻表:
南下列車:SELECT * FROM train WHERE ‘台北出發的時間’ < ‘板橋站
7. 出發的時間’ ORDER BY ‘台北出發的時間’
北上列車:SELECT * FROM train WHERE ‘台北出發的時間’ > ‘板橋站
出發的時間’ ORDER BY ‘台北出發的時間
(9) 查詢乘車率:
南下列車:SELECT train_No FROM seat_info WHERE train_No = ‘使用
者所輸入的車次’ AND seat_date = ‘使用者所輸入的日期’ AND
seat_dep < ‘使用者所輸入的迄站’ AND seat_dest > ‘使用者所輸入的
起站’
北上列車:SELECT train_No FROM seat_info WHERE train_No = ‘使用
者所輸入的車次’ AND seat_date = ‘使用者所輸入的日期’ AND
seat_dep > ‘使用者所輸入的迄站’ AND seat_dest < ‘使用者所輸入的
起站’
(10) 退票紀錄查詢:
SELECT train_No, carriage_No, seat_No, seat_date, seat_dep, seat_dest
FROM cancel_seat WHERE cus_name = ‘使用者所輸入的姓名’ ORDER
BY carriage_No, seat_No
七、前端網頁瀏覽畫面截圖:
首頁:
網路訂票: