Re: [請益] 訂單系統的一些問題
以下sql query憑直覺寫的, 沒測試過. 僅供參考.
※ 引述《roger70349 (roger70349)》之銘言:
: 小弟最近接了一個有關於線上下單的系統,但只是把要的數量跟品名輸入,並沒有搞到金
: 流的部份,我建了一個會員的資料表member,一個下單的資料表shopping,但現在就是,
: 1,當我點選謀一個會員時,就可以同時撈出該會員相關的購物歷史記錄,這樣的情況下
: ,是不要用到join表格,謝謝。
member 對 shopping 是 1對n, 在shopping表中應該有指向member.id的外鍵才對.
當member.id已知, 要撈出相關的shopping records 並不需要用到join.
ex:
select s.*
from shopping as s
where s.member_id=$member_id;
但是如果要在交易記錄當中附上會員的詳細資料時, 可以另外查; 亦可用left join.
就舉個left join的例:
select s.*,m.*
from shopping as s
left join member as m on m.id=s.member_id
where s.member_id=$member_id;
: 2.在會員購物歷史記錄中,有什麼方法只撈出上次購物的日期,謝縛。
: ,
以會員id為篩選條件, 用group by 配合 max函式; 或是依日期由近(大)而遠(小)排序,
撈出第一筆的日期即可.
情境2.1, 適用於所有會員:
select member_id,max(transaction_date)
from shopping
group by member_id;
情境2.2, 適用於特定會員id:
select s.transaction_date
from shopping as s
where s.member_id=$member_id
order by transaction_date desc
limit 0,1; // MySQL專用的limit.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.186.105
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章