作者rainztar (瑞斯达)
看板Database
标题Re: [SQL ] 关联式资料库
时间Wed Oct 21 16:47:03 2009
※ 引述《adrianshum (Alien)》之铭言:
: ※ 引述《adrianshum (Alien)》之铭言:
: [43]
: : select o.order_id, sum(od.order_dtl_qty * od.order_dtl_price)
: : from order o
: : inner join order_dtl od
: : on o.order_id = od.order_id
: : group by order_id
: : 时间, 客户名称, 船名等, 只是需要加回适当的 join
: : 和 group by 而已
: : --
: : ◆ From: 202.155.236.82
: : 推 rainztar:请问客户名称和船名要怎麽join呢 您回答的我都还了解 10/21 13:21
: 有什麽困难吗?
: 你 order 有指向客户 table, 客户 table 有客户名称
: 如果单拿 order id 和客户名称, sql 长成:
: select o.order_id, c.cust_name
: from order o
: inner join cust c
: on o.cust_id = c.cust_id
: 两句都搞懂, 要组合成你要的结果根本没有什麽难了吧.
SELECT 销货记录.销货编号, 销货记录.销货日期, 客户.公司, 客户船名.船名
FROM (销货记录 INNER JOIN 客户 ON 客户.客户编号 = 销货记录.客户编号)
INNER JOIN 客户船名 ON (客户船名.船名 = 销货记录.船名)
AND (客户.公司 = 客户船名.公司);
但是这样只会列出有船名的销货记录
我希望可以列出只要有公司就好的 船名可有可无
改成
SELECT 销货记录.销货编号, 销货记录.销货日期, 客户.公司, 客户船名.船名
FROM (销货记录 LEFT JOIN 客户 ON 客户.客户编号 = 销货记录.客户编号)
LEFT JOIN 客户船名 ON (客户船名.船名 = 销货记录.船名)
AND (客户.公司 = 客户船名.公司);
我认为是可行的
但是ACCESS判定为不支援的JOIN = =
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.86.179