悟空山寨7p刷机网:关于SQL的问题

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 05:31:44
怎样把一个表中列转换为另一个表中行
如下
zyh rycs xmbh je
20024700 1 12 200
20024700 1 13 100
20024701 1 01 150
表一

zyh rycs 12 13 01
20024700 1 200 100
20024701 150

表二
如上把表一中格式转换为表二中的格式.请教各位大家.

你的要求是字段名与数据相关,这个不能靠SQL动态实现,除非你知道所有的'12','13','01'的枚举集合,这种情况下,用
SELECT distinct a.zyh,a.rycs,a1.je ,a2.je,a3.je
from 表 a,表 a1,表 a2,表 a3
where a1. xmbh='12' and a.zyh=a1.zyh(+) and a.rycs=a1.rycs(+)
and a2. xmbh='13' and a.zyh=a2.zyh(+) and a.rycs=a2.rycs(+)
and a3. xmbh='01' and a.zyh=a3.zyh(+) and a.rycs=a3.rycs(+)

Insert into 表二(字段1,字段2,字段3.....) Select B.字段1,B.字段2,B.字段3..... From 表一 AS B

注意字段顺序,如果有相应的调整,你就得调整顺序。

必须注意字段属性匹配,比如日期对日期,如果文本对日期肯定失败。