[SQL ] 取出商品的特價或最低價
資料庫名稱:MySQL
資料庫版本:5.0.22
內容/問題描述:
各位好. 我有兩個資料表
dessert
did 品名 上架日期
--------------------------------
1 巧克力餅乾 2015-10-07
2 奶油餅乾 2015-10-01
3 蘇打餅乾 2015-10-04
price
oid did 包裝 售價 價格類型 價格顯示
------------------------------------------------------
1 1 包 40 member 0
2 1 盒 70 member 0
3 1 箱 900 special 1
8 1 箱 500 dealer 0
4 2 盒 90 member 0
5 2 條 30 member 1
9 2 盒 80 dealer 0
10 2 條 20 dealer 0
6 3 盒 120 member 1
7 3 箱 800 member 0
想要得到的輸出
oid did 包裝 售價 價格類型 品名 上架日期
---------------------------------------------------------------
3 1 箱 900 special 巧克力餅乾 2015-10-07
5 2 條 30 member 奶油餅乾 2015-10-01
6 3 盒 120 member 蘇打餅乾 2015-10-04
找出每個商品的名稱與價格, 若有特價(價格類型為special)就輸出特價金額,
若無特價則輸出該商品最低價格
我目前是依賴 price.價格顯示 欄位來得到上方的輸出
SELECT oid, sid, 包裝, 售價, 價格類型, 品名, 上架日期 FROM `dessert`, `price`
WHERE price.價格類型 in ('member', 'special') and price.價格顯示='1'
and price.did = dessert.did
若我取消 price.價格顯示 欄位, 要如何下SQL才能得到一樣的輸出呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.10.1
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1444295275.A.734.html
推
10/08 17:42, , 1F
10/08 17:42, 1F
→
10/08 17:42, , 2F
10/08 17:42, 2F
※ 編輯: kevin13 (220.137.152.124), 10/08/2015 20:48:57
→
10/08 20:54, , 3F
10/08 20:54, 3F
→
10/08 20:57, , 4F
10/08 20:57, 4F
→
10/08 21:00, , 5F
10/08 21:00, 5F
→
10/08 21:01, , 6F
10/08 21:01, 6F
推
10/08 21:16, , 7F
10/08 21:16, 7F

→
10/09 19:23, , 8F
10/09 19:23, 8F
→
10/09 19:25, , 9F
10/09 19:25, 9F
→
10/09 19:28, , 10F
10/09 19:28, 10F
→
10/09 19:29, , 11F
10/09 19:29, 11F