娶:关于SQL的一个小问题!

时间:2022-01-12 17:36:57
  关于SQL的一个小问题!
本人在数据库编程中遇到一个似乎非常小的问题(关于SQL,JET).
 
有一个数据库表(企业),名为ETable,
有两个字符型字段:EName,Etype
分别表示企业名称和企业经济类型.
企业名称有无数个(且唯一);
企业类型不唯一,但数量有限.例如:集体,私有,国有,外资,民营...等.
每个企业有且只有一个经济类型.
现在要得到如下格式的查询输出结果:
企业类型| 集体 |  私有 | 国有 | 外资 | 民营 |...
--------------------------------------------
        公司1   
               公司2
        公司3        
                       公司4
                             公司5
                                     公司6
               公司7
...
 
...
 
请问:如何生成SQL查询语句?
    我用Trans语句失败.
  本人手边几十本资料均未记载有关方法.上了若干网站,均无解答.请高手将答案Email到我本人机器:newthoughts@pub.yc.jsinfo.net
本人将有答谢 !

7 个解决方案

#1


用临时表和光标!在Server端解决.

#2


如果etype是有限的:
select '企业类型', 
       decode(etype,'集体',ename,'') 集体, 
       decode(etype,'私有',ename,'') 私有, 
       decode(etype,'国有',ename,'') 国有, 
       decode(etype,'外资',ename,'') 外资, 
       decode(etype,'民营',ename,'') 民营
from etable;

#3


37105关注! :)

#4


是想在数据库中生成这样一个表呢?还是想在客户端表现出来呢?

#5


弱水大哥都出手了,看来我就歇着吧,:)

#6


select  (case when etype='集体' then ename else '' end) as 集体,(case when etype='私有' then ename else ''  end)  as 私有,
(case when etype='國有' then ename else ''  end) as 國有,(case when etype='外資' then ename else '' end )  as 外資,
(case when etype=' 民營' then ename else '' end )  as 民營 from ETable
反正企业类型数量有限。

#7


建立游标,用一个存贮过程在服务器中执行可以的。

#1


用临时表和光标!在Server端解决.

#2


如果etype是有限的:
select '企业类型', 
       decode(etype,'集体',ename,'') 集体, 
       decode(etype,'私有',ename,'') 私有, 
       decode(etype,'国有',ename,'') 国有, 
       decode(etype,'外资',ename,'') 外资, 
       decode(etype,'民营',ename,'') 民营
from etable;

#3


37105关注! :)

#4


是想在数据库中生成这样一个表呢?还是想在客户端表现出来呢?

#5


弱水大哥都出手了,看来我就歇着吧,:)

#6


select  (case when etype='集体' then ename else '' end) as 集体,(case when etype='私有' then ename else ''  end)  as 私有,
(case when etype='國有' then ename else ''  end) as 國有,(case when etype='外資' then ename else '' end )  as 外資,
(case when etype=' 民營' then ename else '' end )  as 民營 from ETable
反正企业类型数量有限。

#7


建立游标,用一个存贮过程在服务器中执行可以的。