Foxtable(狐表)用户栏目专家坐堂 → 多表查询


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

主题:多表查询

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


加好友 发短信
等级:幼狐 帖子:122 积分:1805 威望:0 精华:0 注册:2016/8/30 12:08:00
多表查询  发帖心情 Post By:2020/9/16 20:02:00 [只看该作者]

情况说明:表为SQL外部数据表,订单表的合同编号为唯一值,备货单中合同编号为非唯一值,同一张订单会有多张备货单,每张备货单会有个逻辑列“是否发齐”;
需求说明:想通过多表查询,按订单表的合同编号生成查询报表,关联备货单上的“是否发齐”,因为备货单有对应多行,但是又不知道逻辑列怎么用聚合函数来运算,想着SQL里面逻辑列用0,1表示,准备用MIN(是否发齐)来运算,只要多行的备货单里面有一个未发齐(0)的行,那么整个订单就是未发齐(0)的状态。可是还是太年轻了,发现行不通,故请教老师来了;
主要代码:
cmd.CommandText = "Selec t a.[_Identify],a.合同编号,a.客户名称,a.签订日期,a.合同类型,a.合同金额,a.销售员,b.成本价,c.是否发齐 From ({订单表} a LEFT JOIN (Selec t 合同编号,SUM(成本金额) As 成本价 From {订单明细表} Group By 合同编号) b on a.合同编号 = b.合同编号) LEFT JOIN (Selec t 合同编号,MIX(是否发齐)  as 是否发齐 From {备货单} Group By 合同编号) c ON a.合同编号 = c.合同编号 where a.签订日期 >= '2/1/2020' ORDER BY 签订日期"





[此贴子已经被作者于2020/9/16 20:14:56编辑过]

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


加好友 发短信
等级:幼狐 帖子:122 积分:1805 威望:0 精华:0 注册:2016/8/30 12:08:00
  发帖心情 Post By:2020/9/16 20:07:00 [只看该作者]

论坛限制,select 中间加了空格 selec t
[此贴子已经被作者于2020/9/16 20:16:31编辑过]

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/17 8:56:00 [只看该作者]

(Selec t 合同编号,MIN(是否发齐)  as 是否发齐 From {备货单} Group

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


加好友 发短信
等级:幼狐 帖子:122 积分:1805 威望:0 精华:0 注册:2016/8/30 12:08:00
  发帖心情 Post By:2020/9/18 17:02:00 [只看该作者]

我打错字了,用的是MIN  还是不行。

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


加好友 发短信
等级:超级版主 帖子:110443 积分:562081 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/18 17:52:00 [只看该作者]

把把数据导入access数据库发上来测试

 回到顶部