我用delphi写的,查询数据库来画一张二维表,表的行数和列数是不固定的,要怎么写?
比如编辑这张表

我想得出的结果是
科室 西药 成药 治疗 检查 化验 合计
急诊科 106.48 198 43 420 15 782.48
超声诊疗科 0 0 3 0 0 3
肾内科 60 60
它的列:科室和行:收费类型 是不固定的
求各位帮忙教一下,谢谢!
------解决方案--------------------
如果你的列数(西药 成药 治疗 检查 化验)不固定就难办了,前两天也有人问,现在都还没解决,你昨天好像提过问,你确定你的列数不固定?
------解决方案--------------------
我觉得你是不是想复杂了,我怎么老是觉得你的列数是固定的(科室 西药 成药 治疗 检查 化验 。。。),我总觉得只是你的行数不固定吧(科室决定行数),难到我理解错了?
------解决方案--------------------
动态行转列,存储过程实现
CREATE OR REPLACE PROCEDURE P_tmp_tb IS
V_SQL VARCHAR2(2000);
CURSOR CURSOR_1 IS
SELECT DISTINCT T.LXMC FROM tmp_tb1 T ORDER BY LXMC;
BEGIN
V_SQL := 'SELECT BM';
FOR V_XCLCK IN CURSOR_1 LOOP
V_SQL := V_SQL
------解决方案--------------------
','
------解决方案--------------------
'SUM(DECODE(LXMC,'''
------解决方案--------------------
V_XCLCK.LXMC
------解决方案--------------------
''',JE,0)) AS '
------解决方案--------------------
V_XCLCK.LXMC;
END LOOP;
V_SQL := V_SQL
------解决方案--------------------
' FROM tmp_tb1 GROUP BY BM';
--DBMS_OUTPUT.PUT_LINE(V_SQL);
V_SQL := 'CREATE OR REPLACE VIEW tmp_tb2 AS '
------解决方案--------------------
V_SQL;
--DBMS_OUTPUT.PUT_LINE(V_SQL);
EXECUTE IMMEDIATE V_SQL;
END;
------解决方案--------------------
楼主有没有考虑过MODEL http://blog.csdn.net/wanghai__/article/details/4783021?
ps:Oracle 10g+