以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求解决合并模式的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54200)

--  作者:jiskin
--  发布时间:2014/7/23 15:19:00
--  [求助]求解决合并模式的问题
我想对一个数据表进行合并MergeMode
我在表上设计并合并成功后,导出excel 为何是没有合并前的状态呢?
要实现导出excel后自动合并有木有啥方法?
尽量不要用模板的方法吧
请指点 谢谢了

--  作者:Bin
--  发布时间:2014/7/23 15:28:00
--  
SaveExcel http://www.foxtable.com/help/topics/0559.htm
--  作者:jiskin
--  发布时间:2014/7/23 16:17:00
--  
谢谢BIN

另外还有一个问题,纳闷了
select * 
FROM         dbo.表a AS a INNER JOIN
                      dbo.表b AS b ON a.编号 = b.编号 INNER JOIN
                      dbo.表c AS c ON b.物料编号 = c.物料编号 INNER JOIN
                      dbo.表d AS d ON b.物料编号 = d.物料编号

为什么会没数据,纳闷了

--  作者:有点甜
--  发布时间:2014/7/23 17:07:00
--  

 你的表A、表B、表C、表D,都有同样的物料编号吗?如果没有,自然不会有数据。

 

 你要的是不是union?

 

五、UNION 运算符

UNION运算符用于组合两个查询的结果。
例如有一个客户表,一个供应商表,我需要得到所有在中国的客户和供应商的名称和地址。
因为数据位于不同的表中,显然,我们需要用两个查询才能完成任务:

SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\'

两个查询的字段名称、个数、类型必须完全一致才行。

默认情况下,UNION会自动排除重复的行,然后你可以用ALL关键词来确保返回所有的行,例如:

SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION ALL SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\'

 

http://www.foxtable.com/help/topics/2320.htm

 


--  作者:jiskin
--  发布时间:2014/7/23 17:22:00
--  
以下是引用有点甜在2014-7-23 17:07:00的发言:

 你的表A、表B、表C、表D,都有同样的物料编号吗?如果没有,自然不会有数据。

 

 你要的是不是union?

 

五、UNION 运算符

UNION运算符用于组合两个查询的结果。
例如有一个客户表,一个供应商表,我需要得到所有在中国的客户和供应商的名称和地址。
因为数据位于不同的表中,显然,我们需要用两个查询才能完成任务:

SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\'

两个查询的字段名称、个数、类型必须完全一致才行。

默认情况下,UNION会自动排除重复的行,然后你可以用ALL关键词来确保返回所有的行,例如:

SELECT 公司名称, 地址 FROM {客户} WHERE 国家 = \'中国\' UNION ALL SELECT 公司名称, 地址 FROM {供应商} WHERE 国家 = \'中国\'

 

http://www.foxtable.com/help/topics/2320.htm

 

 

甜总,是这样的

我有A B C D 等多个表

其中 A B两个表关联是 “编号”

B C D 三个表关联是 “物料编号”

 

我先把 B表 LEFT OUTER JOIN A表 关联是"编号"

 LEFT OUTER JOIN C表 关联是"物料编号"

然后再 LEFT OUTER JOIN D表 关联是"物料编号"

 

虽然这样可以组成一张表 ,但是 有C表数据的行上就没有D表数据,也就是说 C表的数据和D表的数据不在一行上,这样如果join的表很多,就会有很多行出来了,是否可以有办法在同一行上显示,D表数据行比较多再增加行(因为C D两个表的数据行数不同)


--  作者:Bin
--  发布时间:2014/7/23 17:31:00
--  
你上个例子看看,描述清楚你要实现的效果.
--  作者:jiskin
--  发布时间:2014/7/23 20:43:00
--  
以下是引用Bin在2014-7-23 17:31:00的发言:
你上个例子看看,描述清楚你要实现的效果.

我以excel截图模拟ABCD表和最后一个我希望得到的汇总表

表A


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

 

表B


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

 

表C

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

 

表D


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

 

汇总

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

 

其中 A B两个表关联是 “编号”

B C D 三个表关联是 “物料编号”

CD相当于数据库
[此贴子已经被作者于2014-7-23 20:45:10编辑过]

--  作者:有点甜
--  发布时间:2014/7/23 20:53:00
--  
 呃,这种问题很麻烦,建议你先查询ABC表,表D,通过代码的方法设置进去吧。
--  作者:jiskin
--  发布时间:2014/7/24 8:36:00
--  
以下是引用有点甜在2014-7-23 20:53:00的发言:
 呃,这种问题很麻烦,建议你先查询ABC表,表D,通过代码的方法设置进去吧。

 

额,其实我不只是ABCD表,还有好几个表,看来只能遍历进去了吧

这下蛋疼了


--  作者:有点甜
--  发布时间:2014/7/24 9:24:00
--  
 回复9楼,你需要的表,不能直接通过sql语句生成的,你先生成可以生成的,一些其他内容,就必须通过代码添加进去,没办法。