sql 查询求助(不一样的列转行) [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs1
本版专家分:0
Bbs3
本版专家分:719
Blank
红花 2019年4月 其他数据库开发大版内专家分月排行榜第一
2019年3月 其他数据库开发大版内专家分月排行榜第一
Bbs2
本版专家分:180
Bbs1
本版专家分:0
SQL转行
感谢网友@OctoberOne、@ericqliu的指点,在ORACLE10中可使用以下方法: SELECT n_sec_code, wmsys.wm_concat (c_researcher_code) as result FROM m_researcher_stock_rel GROUP BY n_sec_code...
转行 sql
如表ROW2COLUMN2有以下数据: 名字 课程 分数 1 张三 语文 80   2 张三 数学 86 3 张三 英语 754 李四 语文 785 李四 数学 856 李四 英语 78 想变成下面记录: 名字 语文 数学 英语 1 李四 78 85 782 张三 80 86 75 代替:      名字       课程     分数 A          A1        80 ...
sql 转行
供参考: SELECT US.LOGONID,ENT.NAME,ENT.SAPID,T1.ID,T1.ORDER_ID, (CASE WHEN T2.REFUND_STATUS IS NOT NULL AND T2.REFUND_STATUS!= '' THEN DECODE(T2.REFUND_STATUS,'1','退款确认中','2','已退款','3','退款驳回') ELSE DE...
sql转行
[code=SQL]rn--创建Demo表rnCREATE TABLE [Test] (rn[id] [int] IDENTITY (1, 1) NOT NULL ,rn[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,rn[subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,rn[Source] [numeric](18, 0) NULL rn) ON [PRIMARY]rnGO rnINSERT INTO [test] ([name],[subject],[Source]) values (N'张三',N'语文',60)rnINSERT INTO [test] ([name],[subject],[Source]) values (N'李四',N'数学',70)rnINSERT INTO [test] ([name],[subject],[Source]) values (N'王五',N'英语',80)rnGorn[/code]rn要求结果rn姓名: 张三 李四 王五rn科目:语文 数学 英语rn成绩: 60 70 80rnrnrnrn
SQL 转行
SQL <em>列</em><em>转行</em> 能直接运行
SQL:转行
CREATE TABLE #t( ----[PKID] int primary key identity(101,1), [iyear] [Nvarchar](4) NOT NULL, [budget1] [int] NOT NULL, [budget2] [int] NOT NULL, [budget3] [int] Not Nul...
SQL查询转行(多表查询,并分组)
多行记录和平为一行SQL(多表<em>查询</em>)rnrn问题描述:rn表:TAB_INFORMATION_KEYWORD (以下简称t1)rn 含有3个字段: rn AUTOID INFORMATION_ID TAB_KEYWORD_DICTIONARY_IDrn 1 2 1rn 2 4 1rn 3 6 2rn表: TAB_KEYWORD_DICTIONARY (以下简称t2)rn 含有3个字段rn AUTOID KEYWORD KEYWORD_ENrn 1 中国 zgrn 2 欢迎 hyrnrn所求结果: 这个<em>查询</em>结果关联到这2个表 ,所需要的结果如下rn( t2) KEYWORD_EN (t1) INFORMATION_ID rn zg 2,4 rn hy 6rnrn问题就把理应多行记录合并为1行,并分组.(2个表<em>查询</em>) rn希望大大们帮下我,我整了1天了. 在线等! 感激不尽rn我要语句,别整语法
一个SQL查询,数据由转行的问题
一个SQL<em>查询</em>,数据由<em>列</em><em>转行</em>的问题 rn一个数据表,结构如下: rnS_no Year Month Rain rn1 1990 1 11 rn1 1990 2 5 rn... ... . .. rn19 1998 12 23 rn现作如下<em>查询</em>: rn<em>查询</em>某一个站点(S_NO)中所有RAIN的资料,要求<em>查询</em>结果结构如下: rnS_no Year 1月 2月......12月 rnrn我想在<em>查询</em>结果中添加一<em>列</em>,用于统计RAIN全年的总和, rn该怎样构造<em>查询</em>语句?
窗口函数:实现sql查询结果转行
0 前言 我们在写Sql语句的时候没经常会遇到将<em>查询</em>结果<em>列</em><em>转行</em>,例如做vintage报表的时候,SqlServer中有了PIVOT/UNPIVOT函数可以快速实现行转<em>列</em>和<em>列</em><em>转行</em>的操作,然而hive中没有,大多数人都是通过写一系<em>列</em>的case when函数来实现,个人觉得使用case when这种方法虽然很好,但是很繁琐,这里抛砖引玉一下,通过使用窗口函数来实现<em>列</em>转换操作。 1 需求...
Oracle 查询结果转行
<em>查询</em>结果<em>列</em><em>转行</em> wm_concat()select wm_concat(MC) from ZDJSJYRYLB where instr('01,02,03', DM) > 0
求助SQL转行以及合计小计问题
[img=https://img-bbs.csdn.net/upload/201310/24/1382603288_708496.jpg][/img]rnrnrnrn求帮助此语句怎么写,原始表如下,语句如下:rndeclare @<em>sql</em> varchar(8000)rnset @<em>sql</em> = 'select fName as ' + 'fname'rnselect @<em>sql</em> = @<em>sql</em> + ' , max(case size when ''' + size + ''' then color else 0 end) [' + size + ']'rnfrom (select distinct size from #lj_temp2) as arnset @<em>sql</em> = @<em>sql</em> + ' from tb group by fname'rnexec(@<em>sql</em>) rn执行完毕后报错 rn 消息 245,级别 16,状态 1,第 3 行rn在将 varchar 值 '' then color else 0 end) [' 转换成数据类型 int 时失败。rn[img=https://img-bbs.csdn.net/upload/201310/24/1382603471_454006.jpg][/img]
求助】SQL Server 2008 R2数据库【转行
业务需求:rn有一数据库表记录每天各产品的产出量,如下表:rnrnProduct Output OutDaternA 1 2014/01/02rnA 20 2014/01/03rnB 2 2014/01/03rnC 5 2014/01/03rnA 3 2014/01/04rnB 6 2014/01/04rnE 40 2014/01/04rn……(略)rnrn客户要求:反应某产品近7天的产量(即从今天算起的前6天,不足7天或当天无产量的视为数字0), <em>列</em><em>转行</em> 为如下格式:rnrnProduct 2/1 3/1 4/1 5/1 6/1 7/1 8/1 (日/月)rn A 1 20 3 7 8 2 20 (数量)rn B 0 2 6 0 5 3 15rn D 0 0 0 5 7 2 0rn E 0 0 40 20 0 0 5rnrn===============rn这个存储过程怎么写? PIVOT行转<em>列</em>搞晕了,而且转后的“<em>列</em>名”是动态的。
求助sqlserver 转行
请问下怎么快速将下面表格从【模式1】转成【模式2】rnrn模式1:rn区域 耗时 达标率 数量rn城区 1 90% 1rn东区 2 80% 2rn南区 3 100% 6rn西区 4 10% 22rnrn模式2:rn类型 城区 东区 南区 西区rn耗时 1 2 3 4rn达标率 90% 80% 100% 10%rn数量 1 2 6 22
求助关于转行
以下是代码rndeclare @<em>sql</em>1 varchar(8000)rnrnset @<em>sql</em>1 = 'select 公司,产品'rnrnselect @<em>sql</em>1 = @<em>sql</em>1 + ' , max(数量) rnrn[' + convert(nvarchar(8),日期,112) + ']'rnrnfrom (select 日期 from dbo.T_CustOrder_Details group by 日期) as a ORDER BY 日期rnrnset @<em>sql</em>1 = @<em>sql</em>1 + ' from dbo.T_CustOrder_Details rnrngroup by 公司,产品rnrnprint @<em>sql</em>1rnrnexec(@<em>sql</em>1 ) rnrn发现<em>查询</em>出来会出现这种情况 日期有跳的情况rnrn[img=https://img-bbs.csdn.net/upload/201501/30/1422581504_598860.png][/img]rnrn<em>求助</em>,是否有可能rn让日期连续的rn例如3号后面跟4号5号 取值为0,然后才跟6号这样的。rn<em>查询</em>的是一个月的数据。
求助转行及相关操作
我有一张表rnrn分类1 分类2 数值rnA 1 10rnA 2 11rnA 3 12rnB 4 13rnB 5 14rnC 1 15rnD 3 16rnD 6 17rnrn想要得到如下结果rnrn分类1 数值1 数值2 数值3rnA 10 11 12rnB 13 14 rnC 15 rnD 16 17 rnrn分类2数值可能从1~36,但是实际肯定没有那么多,每个分类1下只有24个以内rn用交叉<em>查询</em>会有空白,而且占用的<em>列</em>数也太多了。rn------rn另外,如果有办法能将原表变成rnrn分类1 分类2 数值rnA 1 10rnA 2 11rnA 3 12rnB 1 13rnB 2 14rnC 1 15rnD 1 16rnD 2 17rn就最好了,谢谢大家。
求助:关于转行
小弟现有这样一张表:rnITEM PRO1 PRO2 PRO3 PRO4 PRO5rnA 1 0 0 1 0rnB 1 0 1 1 0rnC 0 1 0 0 0rnD 0 0 1 1 0rnE 0 0 0 1 0rnrn要求转成如下结果:rnrnITEM PROrnA PRO1rnA PRO4rnB PRO1rnB PRO3rnB PRO4rnC PRO2rnD PRO3rnD PRO4rnE PRO4rnrn实际表中由于<em>列</em>数众多,有60多<em>列</em>,因此不可能用UNION一个select item, pro .... UNION...这样的方法转rn请教如何操作?先谢过了
求助!!!如何下面的转行
现在有如下表:rn姓名 工号 2012.10.08 2012.10.09 2012.10.10 2012.10.11 2012.10.12rn张三 10233 白班 白班 休息 白班 白班rnrn如何转换成下面的形式:rn姓名 工号 日期 班次rnrn张三 10233 2012.10.08 白班rn张三 10233 2012.10.09 白班rn张三 10233 2012.10.10 休息rn张三 10233 2012.10.11 白班rn张三 10233 2012.10.12 白班rnrnrn
(最新版)Sql 求助查询的问题,(帖子内容不一样)
表结构如下:rnFileID(int) ParentFileID(int,null) Name Path(nvarchar(4000),null)rn1 0 文件夹1 ,-1,(相当于是跟文件夹)rn2 1 文件夹1.1 ,-1,1,(相当于是一级文件夹)rn3 2 文件夹1.1.1 ,-1,1,2,(相当于二级文件夹)rn4 3 文件名 null(相当于是二级文件夹下的一个文件)rn搜索要求:rn传参数FIleID=4,搜索结果:rnfile的路径:文件夹1/文件夹1.1/文件夹1.1.1rnrn搜索条件是:换句话说就是 <em>查询</em>给定文件的路径
转行,SQL问题
表rnf1 f2rnB+C 1rnB+C 2rn結果rnf1 f2rnB 1rnB 2rnC 1rnC 2rnrn上次看到有,可惜找不到了。请高手帮解决下。多谢。
SQL转行的问题
表Arnrna brnrnrnrn1 2rnrn3 4rnrn5 6rnrn rnrn通过SQL 得到一个结果:rnrn1 3 5rnrn2 4 6rn
【数据库】sql 转行 unpivot
use db_<em>sql</em>2005 GO select * from tb_Sell unpivot(销售数量 for 月份 in([九月],[十月],[十一月],[十二月] )) as a 相当于: SELECT 商品名称, 九月 AS 销售数量, '九月' AS 月份 FROM tb_Sell GROUP BY 商品名称,九月 UNION ALL SELEC...
sql 转行问题
[img=https://img-bbs.csdn.net/upload/201407/31/1406788348_362012.jpg][/img]rn嗯,这是我昨天在论坛里看到的问题,很感兴趣,自己试了下,发现那个<em>列</em>名好像很难弄。rn今天上论坛没找到原帖,所以发一个。rn要求结果是:rn班长 体育委员 文娱委员 学习委员rnrn刘备 张飞 貂蝉 诸葛亮rnrnrnrn求大神指导下!rnrn
求一sql 转行
[code=SQL]SELECT * FROM dbo.S_MRP_PartrnSELECT * FROM dbo.S_MRP_DayCounts[/code]rnID Part CreateDatern----------- -------------------------------------------------- -----------------------rn1 00-00129 2011-07-29 00:00:00.000rnrn(1 行受影响)rnrnID HID MRPDate Countsrn----------- ----------- -------------------------------------------------- ----------------------rn1 1 Total 99rn2 1 06 5 2011 12:00AM 0rn3 1 06 6 2011 12:00AM 22rn4 1 2011-08-01 33rnrn(3 行受影响)rnrnrn[color=#0000FF]rn希望能够根据 MRPDate进行<em>列</em><em>转行</em>:rnHID Part Total 06 5 2011 12:00A 06 6 2011 12:00AM 2011-08-01 rn----------- ----------- ------ -------------------- -------------------- ----------rn1 00-00129 99 0 22 33rn[/color]rnrn[color=#FF0000]注:MRPDate 是不固定的(会有特殊情况如Total),所以不能像 语文 数学 那样。。。。[/color]
求一个行转行的SQL
rnrn已知用户表:rnrn[code=SQL]rncreate table user(uid int,uname varchar2(10));rn[/code]rnrn邮箱表:(一个用户可能有几个邮箱)rnrn[code=SQL]rnrncreate table email(eid int,uid int,email_address varchar2(50));rn[/code]rnrnrn希望最后得到rnrnuid name email_address1, email_address2(如果该用户有几个邮箱的话)
sql 转行问题??
[code=SQL]rnrn 有一个表 Tab1只有一条数据 :rna b c d.....n rn-----------------------rn10 20 25 30....mrnrn但是多少<em>列</em>不确定。rnrn我想得到它有多少<em>列</em>就是多少行数据rnrncol valuern------ -------rna 10rnb 20rnc 25rnd 30rn......rnrn[/code]
SQL | 行转转行
如何使用SQL实现<em>列</em><em>转行</em>和行转<em>列</em>?1 背景2 行转<em>列</em>2.1 读入数据2.2 需求2.3 SQL实现2.3.1 第一种方法2.3.2 第二种方法2.4 总结3 <em>列</em><em>转行</em>3.1 需求13.2 SQL实现3.3 需求23.4 SQL实现 1 背景 为什么要做这个内容?一个是公司最近项目有涉及,另一个之前面试的时候也被问到过!所以总结一下~ 2 行转<em>列</em> 2.1 读入数据 ...
SQL 转行问题
时段 访问量 受理量 放弃量 rn 1 1 1 3rn 2 4 5 6rn 3 6 4 5rnrn要转换为:rn 时段 1 2 3rn 访问量 1 4 6rn 受理量 1 5 4rn这种形式的....求SQL语句及简单注释呀...
多表查询转行-SQL语句
表userType(用户类型)rn[img=http://img.my.csdn.net/uploads/201301/09/1357713168_6495.jpg][/img]rn表menu(菜单:一级菜单、二级菜单)rn[img=http://img.my.csdn.net/uploads/201301/09/1357713196_9784.jpg][/img]rn表quanxian(用户类型对应的菜单)rn[img=http://img.my.csdn.net/uploads/201301/09/1357713209_5263.jpg][/img]rn数据库设计的不是很理想,想请问下 如何用SQL建个临时表组合出如下的效果rnrn用户类型 信息编辑 合同执行 <em>查询</em>功能(所有不重复2级菜单)rn管理员 1 1 1rn置业顾问 0 1 0rn财务 0 0 0rn(所有类型)rnrn尝试了下只能得到rn[code=<em>sql</em>]select userType.userTypeName,menu.parentNode,userType.id from userTypernleft join quanxian on quanxian.userTypeName=userType.userTypeNamernleft join menu on menu.id=quanxian.menuIdrngroup by userType.userTypeName,menu.parentNode,userType.idrnorder by userType.idrn//userType加了个Id排序用rn[/code]rn[img=http://img.my.csdn.net/uploads/201301/09/1357716315_3779.jpg][/img]
sql转行问题
有一个表:rnno. id code valuern1 100 abc 111rn2 100 edf 222rn3 100 ghi 333rnrn怎样变成rnid abc edf ghirn100 111 222 333rnrn请大家帮助!
SQL转行问题
表A rntid 湖北 湖南 广东 rn 1 001 002 003 rn 2 001 002 003 rn 3 001 002 null rn 4 001 null 003 rn 5 001 na 003 rn.... rn表B rntid address 状态 rn 1 湖北 test rn 1 湖南 null rn 1 广东 test rnrn 2 湖北 na rn 2 湖南 null rn 2 广东 test rnrn 3 湖北 test rn 3 湖南 test rn 3 广东 test rnrn 4 湖北 null rn 4 湖南 test rn 4 广东 null rnrn 5 湖北 test rn 5 湖南 test rn 5 广东 na rnrnrn下面要求表C rnrn表C: rntid address 状态 rn 1 湖南 null rn 2 湖北 na rn 2 湖南 null rn 4 湖北 null rn 4 广东 null rn 4 广东 na rnrn逻辑:表A和表B中TID是关联字段,现在要求 表A中<em>列</em>有值(na或者null都是无值的)表B中TID所对应的行中状态<em>列</em>没有值的数据 rn表A中的<em>列</em>对应表B中的行 表A中每一<em>列</em>代表表B中一行 rnrn求SQL <em>列</em><em>转行</em> 通过A,B表求C表 rnrn晕啦 都没分<em>列</em> 郁闷。。。。
sql server 转行
id name Q1 Q2 Q3 Q4rn----------- -------------------- ----------- ----------- ----------- -----------rn2 b 3000 3500 4200 5500rnrnrnrn转成rnrnrnid 2rnname brnQ1 3000rnQ2 3500rnQ3 4200rnQ4 5500rnrnrn这种格式
oracle 高级sql 转行
有一个表 grade,其字段和记录如下:rncourse scorern语文 88rn数学 67rn英语 55rnrn要求<em>查询</em>的结果如下:rn语文 数学 英语rn优秀 及格 不及格rn其中score>=80为优秀 80>score>=60为及格 score<60为不及格rnrn请问用<em>sql</em>怎么写,数据库为oracle,谢谢大家了
转行的SQL语句
现在有一个数<em>列</em>,如下:rn PageSizern 9rn 1rn 8rn 其中9代表是A4纸型 ,1代表B5纸型,8代表A3纸型rn我想经过转换后的效果rn PageSizern 9,1,8rn这个效果如何实现,非常感谢大侠
求一条转行sql
原始数据:rnrn张三 1 aarn张三 2 bbrn张三 1 ccrnrn输出rn张三 1 aa|ccrn张三 2 bbrnrn就是前面2个字段的值相同就合并最后一个字段
sql转行
<em>列</em><em>转行</em>,主要是通过UNION ALL ,MAX来实现。假如有下面这么一个表 代码CREATETABLEProgrectDetail ( ProgrectName NVARCHAR(20),--工程名称 OverseaSupplyINT,--海外供应商供给数量 NativeSupply INT,--国内供应商供给数量 SouthSupplyINT,--南方供应商供给数量 North...
SQL 行转 转行
一,一<em>列</em>多行转一行,逗号分隔 SQL : select stuff((select ','+id from Table_1 for xml path('')),1,1,'') 结果如下
sql 转行问题请教
表结构rnQ1,Q2,Q3...............Q45 类似这样,字母没规律的。rnrn每次<em>查询</em>返回记录数是一条,想显示的时候竖着显示。怎么弄?rnrnQ1 11rnQ2 12rnQ3 32rnrn....rn....rnrnQ45 54
转行sql
表的结构rn表头 kpi_id dev_id value g_group rn 020102 sb1 192.186.1.1 2rn 020101 sb1 80 2rn 020102 sb1 192.186.1.2 1rn 020101 sb1 8080 1rnrnrn需要展现的数据是rn物理端口 IP地址rn80 192.186.1.1rn8080 192.186.1.2rnrn原<em>sql</em>:rnSELECT SUM(DECODE(T.KPI_NAME, '物理端口', nvl(S.VALUE, 0))) AS "020101",rn SUM(DECODE(T.KPI_NAME, 'IP地址', nvl(S.VALUE, 0))) AS "020102",rn S.G_GROUP as KPI_GROUPSrn FROM S_DEVICEKPI S, S_KPIMSG Trn WHERE S.KPI_ID = T.KPI_IDrn AND S.DEV_ID = 'sb1'rn GROUP BY S.G_GROUPrn但是因为value 是字符串sum不能用 ,求大神没出招
(SQL)转行工具
可以把一<em>列</em>转成一行…… 分隔符默认为英文逗号,也可以转成INSERT 中VALUES()后面的单引号加逗号的形式。 以前用T-SQL时,总是把一<em>列</em>复制到EXCEL中,转置,然后复制到记本事中,把一空格替换成逗号……,这个工具可以直接搞定
sql行转_转行问题.
<em>sql</em>行转<em>列</em>_<em>列</em><em>转行</em>问题.
sql转行问题!
有一个表:rnno. id code valuern1 100 abc 111rn2 100 edf 222rn3 100 ghi 333rnrn怎样变成rnid abc edf ghirn100 111 222 333rnrn请大家帮助!
SQL转行请教!~
分表1格式rnid,bianhao,biaozhi,a1,a2,a3,a4,a5,a6,a7rn1,35,1,data1,data2,data3,data4,data5,data6,data7rn2,35,2,data1,data2,data3,data4,data5,data6,data7rn3,35,3,data1,data2,data3,data4,data5,data6,data7rn4,35,4,1,2,1,3,4,3,1 (对应表2的jiedian)rn//一组数据结束rn6,36,1,data1,data2,data3,data4,data5,data6,data7rn7,36,2,data1,data2,data3,data4,data5,data6,data7rn8,36,3,data1,data2,data3,data4,data5,data6,data7rn9,36,4,3,1,1,3,1,3,1 (对应表2结点)rn//一组数据结束rn分表2格式rnid,bianhao,col(对应表1 a1-a7),jiedianrn1,35,a5,NULLrn2,35,a2,NULLrn3,35,a7,NULLrn4,35,a8,NULLrn5,36,a3,NULLrn6,36,a5,NULLrnrn要的结果:分表2中的jiedian值现在为NULL,根据表1.bianhao=表2.bianhao,表2中COL的值找到表1对应的<em>列</em> biaozhi为4那行的对应值更新到表2的jiedianrn
[分享]SQL转行
在做一些视图,报表或者<em>查询</em>的时候,<em>列</em><em>转行</em>是必须要做的,甚至有多<em>列</em>要转。 SQLSERVER中实现 基本思路是这样的 1 查出所需要数据放在视图1中,且在同一行中将第一次要转的字符串拼成1个长字符串;用+,相当于ORC的|| 2 创建一个合并函数1 ,作用是动态SQL将在视图1中同一<em>列</em>中满足条件的字符串再拼成一个长字符串 3 调用这个合并函数1,将第一次<em>列</em><em>转行</em>的数据存成视图2,同时也可...
sql转行(在线等)
表(T1)rn机构号(A)机构名称 (B)上级机构(C)rnA111 北京国贸招行 北京招行rnB222 北京国贸农行 北京农行rnC333 北京国贸建行 北京建行rnrn表 :(T2)rn机构号(A) 客户号(B)客户类型(C) 存款额(D)贷款额(E)数据时间(F)rnA111 BJ00001 A 1000 0 2009-12-31rnA222 BJ00002 B 200 0 2009-12-31rnA333 BJ00003 C 100 0 2009-12-31rnrn3.假设客户类型只有,A,B,C三种 请按以下格式返回2009-12-31日的每分行的每种客户类型的存款总额 rn rn支行名称 客户类型A 客户类型B 客户类型C 总计rn rn rn rn
sql行转转行
行转<em>列</em>,<em>列</em><em>转行</em>是我们在开发过程中经常碰到的问题。行转<em>列</em>一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系<em>列</em>复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下<em>列</em><em>转行</em>、行转<em>列</em>问题。  我们首先先...
Sql行转转行
<em>sql</em>行转<em>列</em>,<em>列</em><em>转行</em> 行转<em>列</em> 建表语句 DROP TABLE IF EXISTS `test_score`; CREATE TABLE `test_score` ( `studentID` int(11) NOT NULL, `subjectName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAU...
SQL 行转转行
行转<em>列</em>,<em>列</em><em>转行</em>是我们在开发过程中经常碰到的问题。行转<em>列</em>一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系<em>列</em>复杂的SELECT…CASE 语句中所指定的语法更简单、更具可读性。下面我们通过几个简单的例子来介绍一下<em>列</em><em>转行</em>、行转<em>列</em>问题。
复杂sql:关于转行
原始表定义及数据:rn用户ID 家属名称 显示顺序rn========================rnuser1 父亲 1rnuser1 母亲 2rnuser1 叔叔 3rnuser2 父亲 3rnuser2 母亲 2rnuser2 叔叔 1rnuser3 叔叔 3 =》注意,可以跳着发顺序啊,真是shitrn========================rnrn希望能用一个<em>sql</em>转变为:rn========================rn用户ID 家属名称1 家属名称2rnuser1 父亲 母亲rnuser2 叔叔 母亲rnuser3 叔叔 rn========================rn不需要显示家属名称3.rnrnrn不能使用Procedul,只用一个<em>sql</em>。呵呵
还是SQL转行问题?
昨天提到这个问题....但是还不是最终的结果?如下数据所示:rn 纸种 规格 重量rn仿牛卡 1200*1100 1.1rn仿牛卡 1200*1100 1.2rn仿牛卡 1200*1100 1.3rn仿牛卡 1200*1100 1.4rn仿牛卡 1200*1100 1.5rnrn仿牛卡 1200*1100 1.1rn仿牛卡 1200*1100 1.2rnrn高瓦 1200*1200 1.3rn高瓦 1200*1200 1.3rn高瓦 1200*1200 1.3rn能不能通过SQL 语句得到以下统计出来的结果:rnrn仿牛卡 1200*1100 1.1 1.2 1.3 1.4 1.5 5件 rn仿牛卡 1200*1100 1.1 1.2 2件rn高瓦 1200*1200 1.3 1.3 1.3 3件rnrn其中第一行与第二行是相等的,只是在打印的时候,如果把第二行都统计到第一行太长了,打印纸打印不下。rn把原来的七条拆分成两行,5个记录一行。rn????rn
请教SQL 转行问题
请教一个问题,现在是原始的数据集rnStaff_No Payroll_Code valuern 0001 AA 100rn 0001 BB 200rn 0001 CC 300rn 0002 AA 100rn 0002 BB 300rn 0002 CC 500rnrnrn想得到这个效果 rnrnstaff_no AA BB CCrn 0001 100 200 300rn 0002 100 300 500rnrn请问应该怎么做,小弟感谢啦
SQL 尺码表 转行
[img=https://img-bbs.csdn.net/upload/201410/21/1413869952_937417.jpg][/img]rnRT 现在的数据是 这种 款号 颜色 + 尺码横排的。rn如何通过SQL实现rn货号 颜色 尺码名称 数量rnXXX XXX XXXXXXX XXrnrn这种4<em>列</em>的数据集呢?rn 求 大大们帮帮我。
SQL语句转行.
RT.<em>列</em><em>转行</em>成功.rn但是带入机构条件就提示不是单组分组函数.rn去掉rn[code=<em>sql</em>]rn b.branchcode||'-'||b.branchname as bran,rn[/code]rn这一段,就可以显示了rn(需求里必须显示机构咧.)rn麻烦了rnrn[code=<em>sql</em>]rnrn --按脱保原因调查表的统计方法rn select rn b.branchcode||'-'||b.branchname as bran,rn sum(case s.offreasons when '保单价格原因' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions1 ,rn sum(case s.offreasons when '其它主体手续费较高' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions2,rn sum(case s.offreasons when '其它主体赠送礼品' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions3,rn sum(case s.offreasons when '理赔服务问题' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions4,rn sum(case s.offreasons when '过户、转卖他人' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions5,rn sum(case s.offreasons when '车辆报废' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions6,rn sum(case s.offreasons when '业务员离职或转其它支公司' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions7,rn sum(case s.offreasons when '本身为市场业务,流动性交强' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions8,rn sum(case s.offreasons when '其它主体关系客户' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions9,rn sum(case s.offreasons when '已在人保兄弟公司承保' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions10,rn sum(case s.offreasons when '已在其它主体承保' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions11,rn sum(case s.offreasons when '其它原因' then count(distinct c.licenseno || substr(engineno, length(engineno) - 5, 6)) else null end) as offresions12rnfrom rn bascarinfo c, basmemberinfo m, offreasons s,sys_branch brn where c.memberid = m.memberidrn and m.memberid = s.memberidrn and c.allotorgan = b.branchcodern group by b.branchcode,b.branchname,s.offreasonsrn rn rn rn[/code]
SQL 2005转行的疑难问题
例如: 编号rn 001rn 002rn 003rn 004rn 005rn 006rn 007rn 008rnrn<em>查询</em>得出结果显示如下:rn 编号1 编号2 编号3 rn [b]001[/b] 004 007 rn [b]002[/b] 005 008rn [b]003[/b] 006 NULLrnrn也就是隔3行换一次<em>列</em>rnrn[code=<em>sql</em>]rndeclare @tb table([col] varchar(3))rninsert @tbrnselect '001' union allrnselect '002' union allrnselect '003' union allrnselect '004' union allrnselect '005' union allrnselect '006' union allrnselect '007' union allrnselect '008''rnrn;WITH TEMP ASrn(rnSELECT *,ROW_NUMBER() OVER(ORDER BY getdate()) AS RIDrnFROM @tbrn)rnSELECT rn col1=max(case when RID%3=1 then col end),rn col2=max(case when RID%3=2 then col end),rn col3=max(case when RID%3=0 then col end)rnFROM TEMPrnGROUP BY (RID-1)/3rn[/code]rn得出的结果是:rn 编号1 编号2 编号3 rn [b]001[/b] 002 003 rn [b]004[/b] 005 006rn [b]007[/b] 008 NULLrnrn搞不定,<em>求助</em>各位大神~~~
SQL Server 转行代码
SQL Server <em>列</em><em>转行</em>代码,供大伙参考
SQL转行显示方法
SQL通过一个存储过程将一<em>列</em>数据转换成几<em>列</em>数据,本人亲测,效果很好
sql语句:转行问题,pivot,求助。紧急求助
create table #testrn(rncountry varchar(20),rn[name] varchar(20),rnaddr varchar(100)rn)rnrninsert into #testrnselect 'CN','wang','wabuf'rnrninsert into #testrnselect 'US','zhang','mnt'rnrninsert into #testrnselect 'EU','li','wqwe'rnrninsert into #testrnselect 'JP','sun','wett'rnrnrnselect * from #testrnrnrnrn目前表是这样:rnrncountry name addrrn----------- -------------------- --------rnCN wang wabufrnUS zhang mntrnEU li wqwernJP sun wettrnrnrn如何使用pivot将这个表变成下面这样:rnrnrn项目 CN US EU JP rn----------- -------------------- -------- -------- rnname wang zhang li sunrnaddr wabuf mnt wqwe wett
sql sever 转行存储过程
业务场景: 实现一个表中,从第几<em>列</em>开始,以后<em>列</em>都转为行 不逼逼多,上货 create PROCEDURE [dbo].[proc_unpivot] (@tableName varchar(50), --@tableName 表名 @num varchar(50) ) --@num 从那一<em>列</em>开始,<em>列</em>变行 AS BEGIN declare @LieName varcha
sql应用行转转行
两个小实例轻松理解行转<em>列</em><em>列</em><em>转行</em>功能
SQL Server 转行
[code=<em>sql</em>]rn1,2,3,4,5rn[/code]rnrn以上是一个字符串或则一逗号分隔的数字。rnrn这里希望用一条语句<em>查询</em>出这样的效果:rn[code=<em>sql</em>]rn1rn2rn3rn4rn5rn[/code]rnrn不知道怎样才能实现
Sql动态转行
数据表A,表示每个学生的课程表rnrnstudent_id Coursern1 语文rn1 数学rn2 英语rn3 语文rn3 英语rnrnrn现在要<em>查询</em>显示成这样(学生有该课程的就为Y,否则为N)rnrnstudent_id 语文 数学 英语rn1 Y Y Nrn2 N N Yrn3 Y N Yrnrn上面的课程只有3个,事实上课程是不固定的,会增加的.
SQL转行的问题!
怎么样将下面的<em>列</em>XM转换成行,如:rnXMrn01rn02rn03rnrn转成:rnXM1 XM2 XM3rn01 02 03rnrn请问这样的SQL语句怎么写啊?谢谢了。rn我的最终目的是要得到一个字符串01,02,03.rn
SQL 转行如何实现?
![图片说明](https://img-ask.csdn.net/upload/201502/09/1423443519_636511.jpg) 这种什么实现?我的语句是:select ISNULL(fritemcd,tofritemcd)as fritemcd, qty,qty2 fromn (SELECT a.fritemcd,a.qty FROM iniop03t anleft join biitm01t b on fritemcd=itemcd n WHERE a.movedt='20150204' AND a.frstockcd IN ('A710','A711','A713','a712' )and b.itemkind='2') Tnfull joinn(SELECT a.fritemcd tofritemcd,a.qty as qty2 FROM iniop03t a --入nleft join biitm01t b on fritemcd=itemcd nWHERE movedt='20150204' AND tostockcd IN ('A710','A711','A713','a712') and b.itemkind='2')F on T.fritemcd=F.tofritemcd nnn结果如下:![图片说明](https://img-ask.csdn.net/upload/201502/09/1423443684_194616.jpg)
一个转行的SQL问题?
现有A表:rnid tel1 tel2rn1 111 222rn2 123 234rn3 343 256rnrn要获得如下结果:rnid telrn1 111rn1 222rn2 123rn2 234rn3 343rn3 256rnrn如何实现?
求SQL转行。50分
colA colB colC colD Datern A1 B1 C1 D1 2009-03-31rn A2 B2 C2 D2 2009-03-30rnrn 转成rnrn 栏目 2009-03-31 2009-03-30 rn colA A1 A2rn colB B1 B2rn colC C1 C2rn colD D1 D2rnrn明天中午结贴. 谢谢
SQL 2005 转行的方法
SQL<em>列</em><em>转行</em>的方法 介绍的是两种<em>列</em><em>转行</em>的方法。简单易懂...
sql行转,与转行
<em>sql</em> 行转<em>列</em> 与<em>列</em><em>转行</em>,oracle ,mss<em>sql</em>等,详细数据库操作方法,各种例子,欢迎大家学习。、~
sql行转转行
最近建立数据立方体需要将表的数据结构进行转换,进行<em>列</em><em>转行</em>,觉得用途还很大,所以就整理一下,当做自己的笔记拉。 1、<em>列</em><em>转行</em>(主要) 表weatherdata结构: create table WEATHERDATA ( 路径 VARCHAR2(100), 日期 VARCHAR2(50), 时间 VARCHAR2(30), 温度 VARCHAR2(50), P0
SQL行转转行
SQL行转<em>列</em>、<em>列</em><em>转行</em> 这个主题还是比较常见的,行转<em>列</em>主要适用于对数据作聚合统计,如统计某类目的商品在某个时间区间的销售情况。<em>列</em><em>转行</em>问题同样也很常见。 一、整理测试数据 create table wyc_test( id int(32) not null auto_increment, name varchar(80) default null, date date default n...
DESC和User_Tab_Cols查询的结果不一样,求助
表为TEST001,但是用desc<em>查询</em>和从User_Tab_Cols<em>查询</em>的结果不一样,求解释,<em>查询</em>结果如下图:rnSQL> desc test001rn 名称 是否为空? 类型rn ----------------------------------------- -------- ----------------------------rn ID NOT NULL NUMBERrn PROCESS VARCHAR2(20 CHAR)rn CONNECTION VARCHAR2(20 CHAR)rn MARK CHAR(1)rn FLAG CHAR(1)rnrnSELECT column_name, data_length, data_type, table_namern FROM User_tab_colsrn WHERE table_name = UPPER ('test001');rnrnCOLUMN_NAME DATA_LENGTH DATA_TYPE TABLE_NAME rnID 22 NUMBER TEST001 rnPROCESS 40 VARCHAR2 TEST001 rnCONNECTION 40 VARCHAR2 TEST001 rnMARK 1 CHAR TEST001 rnFLAG 1 CHAR TEST001 rn
关于一个查询转行的请教
现在我能从5个表中<em>查询</em>到的结果如下rnrn比如rnrnID NAME VALUErn1 a 10rn1 b 20rn1 c 30rn2 b 25rn2 d 40rnrn我需要的结果是rnID a b c d rn1 10 20 30 rn2 25 40rnrnrnid, name ,value都不是一张表的,而且不知道name有多少种,也不知道会查出多少数据rnrn不知道有没有高手赐教
Oracle查询结果行转转行
行转<em>列</em>select * from (select name, nums from demo/*任意<em>查询</em>语句*/) pivot (sum(nums) for name in ('测试1' 测试1, '测试2', '测试3'));<em>列</em><em>转行</em>select id , name,xx demo from Fruit unpivot (demo for xx in (q1, q2, q3) )...
Mysql 转行统计查询 、行转统计查询
创建表: -- ---------------------------- -- Table structure for tabname -- ---------------------------- DROP TABLE IF EXISTS `tabname`; CREATE TABLE `tabname` ( `Id` int(11) NOT NULL AUTO_INCREMENT, ...
求助,不一样的IDE,不一样的结果??
很简单的一段程序rn在bc3上可以编译通过有结果,vc6上能通过编译,但没有结果,会提示非法退出。rnrn#include rn#include rnvoid main()rnrn char *str="hello";rn char *str1="world";rn strcpy(str,str1);rn cout<
求助一条查询sql
任务表a 关键字段为 下达时间,下达金额 发票号,发票金额rn收款表b 关键字段为 收款时间 收款金额 发票号(收款可能多笔收回)rn我想得到以下效果rnrn发票号 下达时间 发票金额 下达金额 下达前收款金额 下达后收款金额 ...rn----rn请问怎么写
求助 sql 查询
问题复杂一些rnrn我要<em>查询</em>一段时期内多个部门多个商品的多个规格的销售合计rnrn每个部门一个表rnrn每个表内有多个商品记录rnrn每条记录对应一个规格rnrn要求出所有部门所有商品所有规格的合计数rnrn头疼 如rn 表一 rn标识 规格1 规格2 rnA1 1 1rnA1 1rnB2 2rnrn 表二 rn标识 规格1 规格2 rnA1 1 1rnA1 1rnB2 2rnC3 2rnrnrn想生成一个新的临时表rn临时表rn标识 规格1 规格2 rnA1 4 2rnB2 4rnC3 2rnrnrn不知道能不能实现rn万分感谢rn
求助:sql查询
原表的数据是这样的:rn[img=http://img.my.csdn.net/uploads/201303/04/1362393413_4284.jpg][/img]rnrn现要通过<em>sql</em>实现下面的效果:rn[img=http://img.my.csdn.net/uploads/201303/04/1362393796_1950.jpg][/img]rnrn不知道如何实现,<em>求助</em>于高手指点,非常谢谢O(∩_∩)Ornrn
制作Dreamweaver的插件,图片票下载
制作Dreamweaver的插件,里面有。。。。。 相关下载链接:[url=//download.csdn.net/download/niuguoming/2948417?utm_source=bbsseo]//download.csdn.net/download/niuguoming/2948417?utm_source=bbsseo[/url]
Oracle_RAC leveraging_OVM下载
Oracle_RAC leveraging_OVM 相关下载链接:[url=//download.csdn.net/download/parkerfang/4543407?utm_source=bbsseo]//download.csdn.net/download/parkerfang/4543407?utm_source=bbsseo[/url]
操作系统先进先出算法下载
操作系统先进先出算法程序,能够运行,能实现功能,提供免费下载 相关下载链接:[url=//download.csdn.net/download/u013311157/7487313?utm_source=bbsseo]//download.csdn.net/download/u013311157/7487313?utm_source=bbsseo[/url]
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件
我们是很有底线的