列排序的问题!

regithanhu 2006-04-17 04:51:48
表如下:
表a
日期 部门1编号 部门2编号 部门3编号 部门1收入 部门2收入 部门3收入
2004 100 101 102 1000 2000 3000
2005 100 101 102 1500 3000 5000
2006 100 101 102 4000 8000 10000

排序结果:
日期 部门1编号 部门1收入 部门2编号 部门2收入 部门3编号 部门3收入
2004 100 1000 101 2000 102 3000
2005 100 1500 101 3000 102 5000
2006 100 4000 101 8000 102 10000

怎么写
跪求!速度!
...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
regithanhu 2006-04-18
  • 打赏
  • 举报
回复
这就是我想要的!
谢谢大家
xeqtr1982 2006-04-17
  • 打赏
  • 举报
回复
--建立测试表
create table ta(日期 nvarchar(4),部门1编号 int,部门2编号 int,部门3编号 int)
insert into ta select '2004',100,101,102
union all select '2005',100,101,102
union all select '2006',100,101,102

create table tb(日期 nvarchar(4),部门1收入 int,部门2收入 int,部门3收入 int)
insert into tb select '2004',1000,2000,3000
union all select '2005',1500,3000,5000
union all select '2006',4000,8000,10000

--生成列名
select [name] as [name] into ## from syscolumns where id=object_id('tb') and [name]<>'日期'
union all
select [name] as [name] from syscolumns where id=object_id('ta') and [name]<>'日期' order by [name]

--查询结果
declare @sql varchar(8000)
set @sql='select a.日期'
select @sql=@sql+','+[name]+'' from ##
exec(@sql+' from tb a,ta b where a.日期=b.日期')

drop table ta,tb,##
十一月猪 2006-04-17
  • 打赏
  • 举报
回复
用动态的可以吗
regithanhu 2006-04-17
  • 打赏
  • 举报
回复
如果我的表a的字段有100个(即有100个部门)
我的表b的字段有100个(即有100个部门对应的收入)
怎么写!
楼上的大哥门你门说的那种写法我会
我想知道的是有没有其他的办法!

hyrongg 2006-04-17
  • 打赏
  • 举报
回复
create table ta (rq nvarchar(4) ,bm1id int,bm2id int,bm3id int)
insert into ta select '2004',100,101,102
union all select '2005',100,101,102
union all select '2006',100,101,102

create table tb(rq nvarchar(4),bmsr1 int,bmsr2 int,bmsr3 int)
insert into tb select '2004',1000,2000,3000
union all select '2005',1500,3000,5000
union all select '2006',4000,8000,10000

select ta.rq,ta.bm1id,tb.bmsr1,ta.bm2id,tb.bmsr2,ta.bm3id,tb.bmsr3 from ta
inner join tb on ta.rq=tb.rq

drop table ta
drop table tb

the result is:
----------------------------
2004 100 1000 101 2000 102 3000
2005 100 1500 101 3000 102 5000
2006 100 4000 101 8000 102 10000
xeqtr1982 2006-04-17
  • 打赏
  • 举报
回复
我以为他是行转列过来的呢 -_-!
xeqtr1982 2006-04-17
  • 打赏
  • 举报
回复
直接调字段顺序就可以
itblog 2006-04-17
  • 打赏
  • 举报
回复
select a.日期,a.部门1编号,b.部门1收入,a.部门2编号,b.部门2收入,a.部门3编号,b.部门3收入
from 表a a inner join 表b b on
a.日期=b.日期
order by a.日期

这样不够快吗?另外关联条件是按日期吗?
yuweiwei 2006-04-17
  • 打赏
  • 举报
回复
晕,不是动态SQL生成的啊?那样很好办啊
select a.日期,部门1编号,部门1收入,部门2编号, 部门2收入,部门3编号,部门3收入 from a ,b
where a.日期=b.日期
xeqtr1982 2006-04-17
  • 打赏
  • 举报
回复
通过哪个字段关联的?
regithanhu 2006-04-17
  • 打赏
  • 举报
回复
表如下:
表a
日期    部门1编号 部门2编号 部门3编号
2004 100 101 102
2005 100 101 102
2006 100 101 102
表b
日期 部门1收入 部门2收入 部门3收入
2004 1000 2000 3000
2005 1500 3000 5000
2006 4000 8000 10000

dp_555 2006-04-17
  • 打赏
  • 举报
回复
友情接分。。。
xeqtr1982 2006-04-17
  • 打赏
  • 举报
回复
请给出那两个表的结构。
regithanhu 2006-04-17
  • 打赏
  • 举报
回复
是的!
是将两个表join on 连接起来的
不知道怎么改写
xeqtr1982 2006-04-17
  • 打赏
  • 举报
回复
这表是动态生成的吧?
PowerBI系之Power Query专题1.  获取数据 数据源种类介绍和获取Excel数据源输入数据和拷贝数据:创建辅助表解析Json/XML数据格式获取Web网页数据和URL添加动态参数连接数据的四种模式:Import、DirectQuery、Live Connection、Dual双 属于混合模式连接数据库:Sql server、 Mysql(直连但是必须先安装一个mysql插件)DirectQuery直连查询:Sql serverODBC方式获取数据表关联或多个Sql或调用存储过程获取数据SQL中动态传参和自定义函数: sql中使用参数或数据库名称使用参数连接Sharepoint和OneDrive数据源连接Dataset和Dataflow 替换本地数据源为Sharepoint数据源并保留数据处理操作 终止当前数据刷新Loading:Cancel Query数据源设置-重置数据连接凭证PBIDS连接数据源创建和使用报表模块(输入或值表)利用报表模板和参数控制线下报表数据权限DirectQuery启用自动页面刷新和更改检测管理聚合表提高DirectQuery查询性能动态M查询参数提高DirectQuery查询性能添加数据刷新时间 DateTime.LocalNow()和Getdate()2.  数据清洗和M语言M语言和官方文档介绍PowerQuery中查阅M函数:=#shared, Ctrl+Space提示数据清洗之常用技能:提升标题、更改数据类型、保留删除错误或空行,删除重复项、选择和删除、填充单元格、合并、拆分、提取、替换、条件替换、添加自定义,添加条件、添加索引、分组、添加年月日、追加和合并查询透视和逆透视以及转置合并单元格的Excel文件处理导入文件夹中多Excel文件并合并解决多文件合并中顺序不一致使用参数和函数批量导入文件 文本中提取中文、英文、数字等处理双引号转义 拆分详解解决名改变错误解决丢失错误动态显示、排序和重命名为所有名添加前缀名字母大写和分隔符调整Trim标题中的多余空格如何处理load数据错误为什么load的Excel数据有null空行为什么load的Excel数据标题在第二行灵活添加占位符规范同类相似数据数据按多排序为分组添加Index序号分组内值合并诊断工具分析数据处理过程PowerQuery小技巧分享 新冠病例活动轨迹地图标识 

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧