以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一个困惑很久的SQL语句问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10727)

--  作者:狐狸爸爸
--  发布时间:2011/6/20 16:11:00
--  请教一个困惑很久的SQL语句问题

打开CaseStudy下的文件: 多表统计.Table。

在Foxtable的SQL窗口执行(数据源选择Sale)下面的语句:

 

能正常执行的:

 

1、

Select 产品名称,客户名称,日期,数量,单价,数量 * 单价 As [金额] From ({订单} Left JOIN {产品} ON {产品}.[产品ID] = {订单}.[产品Id]) Left JOIN {客户} ON {客户}.[客户ID] = {订单}.[客户ID]

2、

Select 产品名称,客户名称,日期,数量,单价,数量 * 单价 As [金额] From ({订单} Right JOIN {产品} ON {产品}.[产品ID] = {订单}.[产品Id]) Left JOIN {客户} ON {客户}.[客户ID] = {订单}.[客户ID]

3、

Select 产品名称,客户名称,日期,数量,单价,数量 * 单价 As [金额] From ({订单} Left JOIN {产品} ON {产品}.[产品ID] = {订单}.[产品Id]) Right JOIN {客户} ON {客户}.[客户ID] = {订单}.[客户ID]

 

不能正常执行的:

Select 产品名称,客户名称,日期,数量,单价,数量 * 单价 As [金额] From ({订单} Right JOIN {产品} ON {产品}.[产品ID] = {订单}.[产品Id]) Right JOIN {客户} ON {客户}.[客户ID] = {订单}.[客户ID]

 

 

为什么两个Right Join就不行了呢?

 


--  作者:ybil
--  发布时间:2011/6/20 16:26:00
--  
我估計是{产品} 及 {客户} 沒這些列:  [日期,数量,单价] 
不對請R版批示
[此贴子已经被作者于2011-6-20 16:27:50编辑过]

--  作者:reachtone
--  发布时间:2011/6/20 16:39:00
--  

搞个例子上来,我习惯用别名,一楼这种代码我看了累,眼花缭乱的。

我在一点点测试这次更新后的统计工具,已经发现了一些其它方面的问题,等会专题贴上来。


--  作者:狐狸爸爸
--  发布时间:2011/6/20 16:42:00
--  
例子就是CaseStudy下的文件: 多表统计.Table
--  作者:reachtone
--  发布时间:2011/6/20 16:43:00
--  

呵呵,一楼已经有例子了,我看看能不能帮上忙


--  作者:rcsy001
--  发布时间:2011/6/20 16:48:00
--  
就一楼的代码,在狐表的SQL里就运行通不过啊
--  作者:狐狸爸爸
--  发布时间:2011/6/20 16:50:00
--  
以下是引用rcsy001在2011-6-20 16:48:00的发言:
就一楼的代码,在狐表的SQL里就运行通不过啊

 

要选择数据源"Sale"


--  作者:reachtone
--  发布时间:2011/6/20 17:00:00
--  

经测试,代码没问题,在sql数据库运行通过,access可能不支持吧:

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2011/6/20 17:04:00
--  
是的,SQl 我也测试了,就是Access不行,不明白Access为啥两个Right 就不行了
--  作者:rcsy001
--  发布时间:2011/6/20 17:11:00
--  

不能执行的改成这样:

select 客户名称,产品名称,日期,数量,单价,数量 * 单价 As [金额] from (Select 客户ID,产品名称,日期,数量,单价,数量 * 单价 As [金额] From ({订单} Right JOIN {产品} ON {产品}.[产品ID] = {订单}.[产品Id])) as a Right JOIN {客户} ON {客户}.[客户ID] = a.[客户ID]