Re: [請益] 訂單系統的一些問題

看板PHP作者 (寶貝豬)時間16年前 (2009/04/22 21:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
以下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
文章代碼(AID): #19xnLY66 (PHP)
討論串 (同標題文章)
文章代碼(AID): #19xnLY66 (PHP)