如何将列到行的值更改为单个记录列更改为行更改 [英] How to change column to row values individual record column change to row change

查看:66
本文介绍了如何将列到行的值更改为单个记录列更改为行更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是数据

表名称总计数匹配
物料管理员58941 30092
rxml_values 512218 466637
Materialdetail 56141 3090
值详情533218 478637





但我想要的数据是:



表名称:Material Master

总数:58941

配对:30092

表名:rxml_values

总数:512218

配对:466637

表名称:Materialdetail

总计数:56141

满足筛选:3090

桌子名称:价值详情

总数:533218

配对:478637







 SQL,SQL-server-2008R2,MySQL,Access,Excel,





如果任何一个数据库改变这个..?

解决方案

以简单的方式,你可以得到结果使用了g以下查询



  DECLARE   @tbl   AS  (Table_Name  NVARCHAR  50 ),Total_count  INT 匹配  INT 

INSERT INTO @ tbl
SELECT ' Material Master' 58941 30092 UNION ALL
SELECT ' rxml_values' 512218 , 466637 UNION ALL
SELECT ' Materialdetail' 56141 3090 UNION ALL
SELECT ' 值详细信息' 533218 478637

选择 val 来自

选择 ' A' < span class =code-keyword> AS sr,Table_Name,' Table_Name:' + Ta ble_Name 作为 val
FROM @ tbl
UNION
选择 ' B' AS sr,Table_Name, ' Total_count:' + CAST(Total_count AS NVARCHAR 50 )) As val
FROM @ tbl
UNION
select ' C' AS sr,Table_Name,' 匹配:' + CAST(匹配 AS NVARCHAR 50 )) as val
FROM @ tbl
as tbl order by Table_Name,sr







她是以上查询结果 -



<前lang =SQL> Table_Name:物料主数据
Total_count:58941
符合次数:30092
Table_Name:Materialdetail
Total_count:56141
符合次数:3090
Table_Name:rxml_values
Total_count:512218
符合次数:466637
Table_Name:values details
Total_count:533218
符合次数:478637


This is the data

Table Name        Total count       Matched
Material Master	    58941	     30092 
rxml_values	    512218	     466637
Materialdetail      56141            3090 
values details      533218           478637



But I want out put data is:

Table Name: Material Master
Total count: 58941
Matched: 30092
Table Name: rxml_values
Total count: 512218
Matched : 466637
Table Name :Materialdetail
Total count: 56141
Matched : 3090
Table Name: values details
Total count: 533218
Matched : 478637



SQL, SQL-server-2008R2, MySQL, Access, Excel, 



if any one database to change this..?

解决方案

in simple way, you can get the result using below query

DECLARE @tbl AS TABLE (Table_Name NVARCHAR(50),Total_count INT,Matched INT)

INSERT INTO @tbl                
SELECT 'Material Master',58941,30092 UNION ALL 
SELECT 'rxml_values',512218,466637 UNION ALL 
SELECT 'Materialdetail',56141,3090  UNION ALL 
SELECT 'values details',533218,478637

select val from 
(
select 'A' AS sr, Table_Name, 'Table_Name:' + Table_Name As val
FROM @tbl
UNION
select 'B' AS sr, Table_Name, 'Total_count:' + CAST(Total_count AS NVARCHAR(50)) As val
FROM @tbl
UNION
select 'C' AS sr, Table_Name, 'Matched:' + CAST(Matched AS NVARCHAR(50)) As val
FROM @tbl
) as tbl order by Table_Name,sr




Her is the result of above query -

Table_Name:Material Master
Total_count:58941
Matched:30092
Table_Name:Materialdetail
Total_count:56141
Matched:3090
Table_Name:rxml_values
Total_count:512218
Matched:466637
Table_Name:values details
Total_count:533218
Matched:478637


这篇关于如何将列到行的值更改为单个记录列更改为行更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆