当前位置:主页>销售管理软件> 列表

求一个SQL语句,改变表结构,高手进

财务软件版1楼: 某一个表是这样的
Feild1 Field2 Field3
1 a sds
2 a qqq
3 b cc
4 b yyy
其中 field1 为序号 fields中a和b的数目一样
求一sql语句将其转化为
Id a b
1 sds cc
2 qqq yyy

2楼: // 如工业进销存excel

3楼: 注:
我用的是access

4楼: 每人会吗?

5楼: 经典的行转列问题

http://www.delphibbs.com/delphibbs/dispq.asp?lid=2295701
标题: 行转列的SQL怎么写? (200分)

http://www.delphibbs.com/delphibbs/dispq.asp?lid=2054531
标题: 请教一个SQL语句子中行列转换的问题 (200分)

如果Access不支持,就自己动态添加到TClientDataSet里面处理吧

6楼: 建议你用两个adodataset组件
 
第一个的connectionstring连接原数据库
然后建立一个新的空数据库,字段为
id a b
用第二个adodataset连接。

with adodataset2 do
begin
adodataset1.indexname:=''field2'';
adodataset1.first;
repeat //转换“a”的数据;
append;
adodataset2.fieldbyname(''a'').asstirng:= adodataset1.fieldbyname(field3).asstring; //这里假设数据是文本型的,如果是别的类型,请更改asstring;
post;
aodataset2.next;
until aodataset2.locate(''field2'',''b'',[lopartialkey]);
first; //转换“b”的数据;
repeat
eidt;
adodataset2.fieldbyname(''b'').asstirng:= adodataset1.fieldbyname(field3).asstring;
post;
next;
aodataset2.next;
until aodataset2.eof=true;
end;

财务软件版7楼: 建议用交叉表,把不需要的字段隐藏

8楼: 用临时表中转一下!