作者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)