SELECT 名称,
(CASE 月份 WHEN 1月 THEN 值 ELSE 0 END) AS 1月,
(CASE 月份 WHEN 2月 THEN 值 ELSE 0 END) AS 2月,
(CASE 月份 WHEN 3月 THEN 值 ELSE 0 END) AS 3月,
FROM 表名
(CASE 月份 WHEN 1月 THEN 值 ELSE 0 END) AS 1月,
(CASE 月份 WHEN 2月 THEN 值 ELSE 0 END) AS 2月,
(CASE 月份 WHEN 3月 THEN 值 ELSE 0 END) AS 3月,
FROM 表名
解决方案 »
- 一个数据库小问题,高手请进……,在线等之
- 哪位大哥来帮忙看一下,有个小问题,急!急!急!!!(串口通信问题)
- 谁有F1BOOK 6下载呀,delphi7的版本太低了
- 关于文件操作问题,如何快速删除文件指定某行的数据(假设文件大小大于200Mb)
- 請問一個連接問題。
- exe里运行正常,BPL里不正常。2者区别在哪里?
- TxmlConnection,是不是有这样的一个组件
- 为什么WIN2000 和 WIN98 联对等网时,98无法访问2000的文件呢,请指教!!
- *****请问:如果我想在listbox的item.insert时,insert一个Tedit,即制作一个可编辑的listbox.应该如何实现?*****急!急!急!急!***
- 在delphi的数据库控件中的(是不是叫有个dbgrid的,我都快忘了)的数据列的定位是怎么实现的?
- 如何用ADOTable或ADOQuery向数据库中存储BLOB字段?
- 请教有无详细的DELPHI函数介绍工具!最好中文
BH,MC,SJ:string;
i,IValue:integer;
temp:string;
begin
table1.open;
talbe2.open;
for i:=0 to Table1.RecordCount-1 do
begin
BH:=Table1.FieldByName('编号').asstring;
MC:=Table1.FieldByName('名称').asstring;
SJ:=Table1.FieldByName('时间').asstring;
IValue:=Table1.FieldByName('值').asinteger;
with Table2 do
begin
append;
FieldByName('编号').asstring:=BH;
FieldByName('名称').asstring:=MC;
for i:=2 to table2.FieldCount-2 do
begin
Temp:=table[i].Name;
if sj=Temp then
FieldByName(Temp).asinteger:=Ivalue;
end;
end;
post;
end;
Table1.next;
end;
end;
for i:=2 to table2.FieldCount-2 do
应该是j:=2
最重要的就是:
(CASE 月份 WHEN X月 THEN 值 ELSE 0 END) AS X月,
然后用找出的月份一个一个加在下面的[X月]当中呀。
SELECT 名称,
(CASE 月份 WHEN 1月 THEN 值 ELSE 0 END) AS 1月,
(CASE 月份 WHEN 2月 THEN 值 ELSE 0 END) AS 2月,
(CASE 月份 WHEN 3月 THEN 值 ELSE 0 END) AS 3月,
FROM 表名