sql 里的case
我想实现的功能是当 F_JZFXF='D' 的时候F_JE As AC_DF 否则 as AC_JF
我用下面的写法怎么不对,,
Select F_PZBH as AC_BH,F_DATE as AC_DATE,F_KMBH as AC_TYPE,F_JY as AC_MARK, F_JE AS (case when F_JZFXF_DF='D' then AC_DF else AC_JF end) From T_ACCO
还有要是在sybase里要实现这个功能怎么写。
问题点数:100、回复次数:10Top
1 楼suary(小船)回复于 2003-08-01 00:46:23 得分 0
老是提示"(" 附近有语法错误,请高手指点Top
2 楼saucer(思归)回复于 2003-08-01 03:58:56 得分 20
try
Select F_PZBH as AC_BH,F_DATE as AC_DATE,F_KMBH as AC_TYPE,F_JY as AC_MARK, case when F_JZFXF_DF='D' then AC_DF else AC_JF end as F_JE From T_ACCOTop
3 楼eminena(俄罗斯方块)回复于 2003-08-01 08:11:07 得分 10
Select F_PZBH as AC_BH,F_DATE as AC_DATE,F_KMBH as AC_TYPE,F_JY as AC_MARK, F_JE AS (case T_ACCO.F_JZFXF when 'D' then AC_DF else AC_JF end) From T_ACCOTop
4 楼littlechang(海纳百川)回复于 2003-08-01 08:12:47 得分 5
saucer(思归, MS .NET MVP) 高手,说的对。Top
5 楼ls_hndd(三人行必有吾师)回复于 2003-08-01 08:25:51 得分 10
Select F_PZBH as AC_BH,F_DATE as AC_DATE,F_KMBH as AC_TYPE,F_JY as AC_MARK, F_JE = (case when F_JZFXF_DF='D' then AC_DF else AC_JF end) From T_ACCOTop
6 楼pengdali()回复于 2003-08-01 10:00:27 得分 15
没有办法只能写ifTop
7 楼CrazyFor(冬眠的鼹鼠)回复于 2003-08-01 10:38:07 得分 15
不行,逻辑上也行不能啊,你是想把选出的一个字段内容给两个别名,这怎么可以呢!Top
8 楼woyaofengle(清流2号)回复于 2003-08-01 11:20:02 得分 10
我赞成CrazyFor 的说法Top
9 楼suary(小船)回复于 2003-08-01 11:22:21 得分 0
对呀,我是想当F_JZFXF标志为'D'的时候就将F_JE取别名:AC_DF 当F_JZFXF标志为'J'的时候取别名AC_JF ,是不是这种想法实现不了????Top
10 楼zjcxc(邹建)回复于 2003-08-01 11:31:23 得分 15
不能,一个字段不可能有两个名字.Top



