Foxtable(狐表)用户栏目专家坐堂 → 请教一个困惑很久的SQL语句问题


  共有15384人关注过本帖树形打印复制链接

主题:请教一个困惑很久的SQL语句问题

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
请教一个困惑很久的SQL语句问题  发帖心情 Post By:2011/6/20 16:11:00 [只看该作者]

打开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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2011/6/20 16:26:00 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2011/6/20 16:39:00 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/20 16:42:00 [只看该作者]

例子就是CaseStudy下的文件: 多表统计.Table

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2011/6/20 16:43:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
rcsy001
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1627 威望:0 精华:0 注册:2011/4/20 10:44:00
  发帖心情 Post By:2011/6/20 16:48:00 [只看该作者]

就一楼的代码,在狐表的SQL里就运行通不过啊

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/20 16:50:00 [只看该作者]

以下是引用rcsy001在2011-6-20 16:48:00的发言:
就一楼的代码,在狐表的SQL里就运行通不过啊

 

要选择数据源"Sale"


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2011/6/20 17:00:00 [只看该作者]

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

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/6/20 17:04:00 [只看该作者]

是的,SQl 我也测试了,就是Access不行,不明白Access为啥两个Right 就不行了

 回到顶部
帅哥哟,离线,有人找我吗?
rcsy001
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:156 积分:1627 威望:0 精华:0 注册:2011/4/20 10:44:00
  发帖心情 Post By: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]


 回到顶部
总数 23 1 2 3 下一页