作者danlin1012 (璽朵站崗中Q Q)
看板Database
標題[SQL-MySQL] 請問我的語法哪裡有問題呢?
時間Mon Jan 18 18:03:39 2010
我的MySQL伺服器版本是 5.0.45
因為找了書跟網路上的資源,都不知道我的問題該怎麼解決,
所以希望請教一下比較了解的版大們...Q Q
首先列出我自己的資料表部分內容:
訂單purchase{
Order_Number[PK] 訂單編號,
Order_Date 訂購日期}
訂購明細order_detail{
Order_Number 訂單編號,
Product_Number 商品編號,[上述兩個共同成為PK]}
商品product{
Product_Number[PK] 商品編號,
Supplier_Number 供應商編號,
Product_Name 商品名稱}
供應商supplier{
Supplier_Number[PK] 供應商編號,
Supplier_Name 供應商名稱,
Supplier_Phone 供應商電話}
然後我想查"過去6個月內"有交易往來的
"供應商的名稱、電話、及所採購之商品的名稱"
以下是我的語法↓
CREATE TEMPORARY TABLE sixSupplier
SELECT DISTINCT p.Supplier_Number
FROM `product` p WHERE p.Product_Number IN
(SELECT DISTINCT od.Product_Number
FROM `order_detail` od WHERE od.Order_Number IN
(SELECT u.Order_Number
FROM `purchase` u WHERE DATEDIFF(CURDATE(),u.Order_Date) < 181));
CREATE TEMPORARY TABLE zySupplier
SELECT s.Supplier_Number s.Supplier_Name
FROM `supplier` AS s WHERE s.Supplier_Number IN
(SELECT * FROM sixSupplier);
SELECT * FROM `zySupplier`;
修改過後已經可以跑出六個月內有交易往來的廠商名稱與編號,
不過我想要再加一張暫存表來表示採購過的商品,
再與現在的結果進行交集,可是跑不出來...
請問版上的前輩們是否有比較好的方法呢?非常感謝各位前輩!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.109.138
※ 編輯: danlin1012 來自: 114.37.109.138 (01/18 19:30)
1F:→ danlin1012:我發現我只是忘記加上 ) 來包住子查詢...orz 01/18 20:03
2F:→ danlin1012:可是我還是沒辦法印出商品名稱耶... 01/18 20:13
※ 編輯: danlin1012 來自: 114.37.109.138 (01/19 03:03)