Foxtable(狐表)用户栏目专家坐堂 → 消失了的表达式列


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

主题:消失了的表达式列

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13810 威望:0 精华:2 注册:2012/2/25 10:59:00
消失了的表达式列  发帖心情 Post By:2013/12/15 21:52:00 [只看该作者]

如图:


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

其中 :成人人数 儿童人数 应收 是表达式列 tbale1绑定后,显示正常

 

用了一个多表查询后, 表达式列消失了

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图2.png
图片点击可在新窗口打开查看

 

多表查询sql语句如下:

Select * FROM {订单} WHERE 团号 In (Select  {订单}.团号 From ({订单} Inner JOIN {旅游线路表} ON {旅游线路表}.[线路名称] = {订单}.[线路名称]) Inner JOIN {收入项目表} ON {收入项目表}.[团号] = {订单}.[团号]"

问题出在哪里?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/15 22:11:00 [只看该作者]

 表达式列不存在于数据表中的,需要你自己再去统计这些数。也就是说,你要加入列名称,同时自己统计明细表的数据。

 比如,select 团号, 路线名称, 成人价, (select sum(成人人数) from {明细表} b where b.团号 = a.团好) as 成人人数 from {订单} a

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13810 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2013/12/15 22:58:00 [只看该作者]

谢谢 ,按你的方法解决了,写了一大堆代码才达到效果:

Select 团号,(select sum(成人) from {收入项目表} b where b.团号 = a.团号) as 成人人数,成人价,(select sum(儿童) from {收入项目表} b where b.团号 = a.团号) as 儿童人数,儿童价,(成人人数*成人价+儿童人数*儿童价) as 应收,已收,订单状态 from {订单} a  WHERE 团号 In (Select  {订单}.团号 From ({订单} Inner JOIN {旅游线路表} ON {旅游线路表}.[线路名称] = {订单}.[线路名称]) Inner JOIN {收入项目表} ON {收入项目表}.[团号] = {订单}.[团号])


 回到顶部