以下有两个资料表:
> 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,这样很笨但是暂时查无好方法。
再麻烦各位解答了,感谢~~