以下有兩個資料表:
> customers
C_ID Name City Address Phone
1 張一 台北市 XX路100號 02-123456789
2 王二 新竹縣 YY路200號 03-123456789
3 李三 高雄縣 ZZ路300號 07-123456789
> orders
O_ID OrderNO C_ID
1 2572 3
2 7375 3
3 1054 1
4 7520 1
5 1257 2
(1)找出每位客戶的訂單總數及最後那筆訂單編號。
我的解法:
select customers.Name, count(orders.C_ID) as OrderNumber,
max(OrderNO) as LastOrderNum
from customers, orders
where customers.C_ID = orders.C_ID
group by orders.C_ID
依照鄉民建議修改。
(2)修改訂單編號1257的客戶電話為03-87654321。
我的解法:
select customers.C_ID, customers.Name, customers.City, customers.Address,
replace (customers.Phone, '03-12345678', '03-87654321') as Phone
from orders, customers
where customers.C_ID = orders.C_ID and
orders.OrderNO = 1257
這裡用replace處理,但是不確定與update的差別,是指資料庫內容有無更新嗎?
(3)複製張一最後一筆訂單的資料,新增至orders(PK: O_ID)
我的解法:
想到的方式是create table然後全部重key,這樣很笨但是暫時查無好方法。
再麻煩各位解答了,感謝~~