日期:2014-05-18  浏览次数:20451 次

求助,关于联合查询
我要画一张EXCEL内的表格,原本是

列1,列2,列3。。。。。列N
[数据]

会这样

现在想要


列1,列2,列3
[数据]

列4,列5,列6
[数据]

我想通过联合查询,把他画成一张表完成,但是我的联合查询遇到了点问题





SQL code
SELECT '列1','列2'
UNION
SELECT cInWareid,CAST(iChCon AS VARCHAR(50)) FROM inware
UNION
SELECT '列3','列4'
UNION
SELECT cInWareNo,CONVERT(varchar(50),dInWareDate,111) FROM inware


(无列名) (无列名)
128 0
159 0
163 0
164 0
165 0
168 0
171 0
188 0
195 0
216 0
217 0
218 0
CSY 2012/07/03
CSY 2012/07/09
CSY 2012/07/10
CSY 2012/07/12
CSY 2012/07/10
CSY 2012/07/10
CSY 2012/07/10
CSY 2012/07/10
CSY 2012/07/11
列1 列2
列3 列4
入 2012/07/17
入 2012/07/16
入 2012/07/17

绿色的是第一部分的内容,橙色的是第二部分的内容
红色的是我需要做标题用的

但是标题并没有像我输入的查询语句的顺序那样显示

而且所有内容都排序了


怎么可以让我查出来的内容不是所有内容整体排序

无论如何至少要想我查询语句的顺序,
列1列2显示在第一行

列3,列4显示在内容1和内容2之间,

这个要怎么做到呀?

谢谢哥哥姐姐

------解决方案--------------------
用VBA实现比较好,去Office版问问,纯语句可用以下方法

1
SQL code
、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------

2、将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------