以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 消失了的表达式列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43795) |
-- 作者:sloyy -- 发布时间:2013/12/15 21:52:00 -- 消失了的表达式列 如图: 其中 :成人人数 儿童人数 应收 是表达式列 tbale1绑定后,显示正常
用了一个多表查询后, 表达式列消失了
多表查询sql语句如下: Select * FROM {订单} WHERE 团号 In (Select {订单}.团号 From ({订单} Inner JOIN {旅游线路表} ON {旅游线路表}.[线路名称] = {订单}.[线路名称]) Inner JOIN {收入项目表} ON {收入项目表}.[团号] = {订单}.[团号]" 问题出在哪里? |
-- 作者:有点甜 -- 发布时间:2013/12/15 22:11:00 -- 表达式列不存在于数据表中的,需要你自己再去统计这些数。也就是说,你要加入列名称,同时自己统计明细表的数据。 比如,select 团号, 路线名称, 成人价, (select sum(成人人数) from {明细表} b where b.团号 = a.团好) as 成人人数 from {订单} a
|
-- 作者:sloyy -- 发布时间: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 {收入项目表}.[团号] = {订单}.[团号]) |