读书人

sql case when then查询语句有关问题

发布时间: 2012-04-13 13:50:24 作者: rapoo

sql case when then查询语句问题
RT,现有一个cityTable

SQL code
select  *,        case            when Province='江苏省' then '华东'           when Province='浙江省' then '华东'           when CityName='上海市' then '华东'           when Province='河南省' then '华中'           when Province='湖北省' then '华中'           when Province='湖南省' then '华中'           when Province='广西省' then '华南'           when Province='广东省' then '华南'           when Province='河北省' then '华北'           when CityName='北京市' then '华北'           when CityName='天津市' then '华北'        else '其他' end as 'District'            from cityTable

我想做到类似这种查询
SQL code
select * from (    select  *,        case            when Province='江苏省' then '华东'           when Province='浙江省' then '华东'           when CityName='上海市' then '华东'           when Province='河南省' then '华中'           when Province='湖北省' then '华中'           when Province='湖南省' then '华中'           when Province='广西省' then '华南'           when Province='广东省' then '华南'           when Province='河北省' then '华北'           when CityName='北京市' then '华北'           when CityName='天津市' then '华北'        else '其他' end as 'District'            from cityTable) where District='华东'

即在已经执行了case后再做查询,查询条件为我case里自定义的District,最后结果应该为
Province District
江苏省 华东
浙江省 华东

[解决办法]
探讨
RT,现有一个cityTable
SQL code

select *,
case
when Province='江苏省' then '华东'
when Province='浙江省' then '华东'
when CityName='上海市' then '华东'
when Provinc……

读书人网 >SQL Server

热点推荐