首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

数据库列转行有关问题

2014-01-21 
数据库列转行问题。A表格式B表格式 如何将A表的数据格式写成和到B表同格式。目的:方便将A表数据插入到B 表中

数据库列转行问题。
A表格式     
  数据库列转行有关问题

B表格式
 数据库列转行有关问题

如何将A表的数据格式写成和到B表同格式。

目的:方便将A表数据插入到B 表中。

[解决办法]

----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2014-01-17 12:35:26
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
--Dec 28 2012 20:23:12 
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go 
create table [A]([Id] varchar(2),[Name] varchar(2),[UserId] varchar(2),[DId] varchar(2),[Der] varchar(2),[DDate] varchar(2),[VId] varchar(2),[Ver] varchar(2),[VDate] varchar(2))
insert [A]
select '01','aa','bb','cc','dd','ee','ff','gg','hh'
--------------开始查询--------------------------
SELECT RIGHT('0'+cast(ROW_NUMBER()OVER(ORDER BY GETDATE()) AS varchar),2)id,name,userid,[type],typeid,typer,typedate
FROM (
select name,userid,'D' [type],did typeid,der typer,ddate typedate
from [A]
UNION ALL 
select name,userid,'V' [type],vid typeid,ver typer,vdate typedate
from [A])a
----------------结果----------------------------
/* 
id   name userid type typeid typer typedate
---- ---- ------ ---- ------ ----- --------
01   aa   bb     D    cc     dd    ee
02   aa   bb     V    ff     gg    hh
*/

热点排行