2013-04-14 20 views
-1

创建列我有如下表创建一个查询困难:SQL查询涉及用于显示数据

Table Stats: 
Column name  Type 
_______________________________ 
STNAME   String 
AREANAME   String 
Population2010 Number 
Population2011 Number 

我想列出所有AREANAME特定STNAME,让我们说STNAME =“ NEVADA“,以及截至2011年的人口绝对变化(POPULATION2011)与该AREANAME的2010年(POPULATION2010)相比。查询应创建一个名为“结果”的新栏,显示的变化是增加或减少,是这样的:

Name    Change Result 
Abberville City  100  Increase 
Jefferson City  50  Decrease 

回答

2

您应该能够使用像它得到的之间的变化值以下population2010population2011每个areaname,然后使用CASE表达得到result

select areaname, 
    abs(population2010-population2011) Change, 
    case 
    when population2010 > population2011 
    then 'Decrease' 
    else 'Increase' 
    end Result 
from stats 
where stname = 'Nevada'; 

SQL Fiddle with Demo