日期:2014-05-18  浏览次数:20573 次

根据字段1的值来确定后续查询的字段
根据字段1的值来确定后续查询的字段

如果字段1的值为email
那么下边就查询TouchEmail字段

如果字段1的值为Fax
那么下边就查询TouchFax


select   字段1,
case   when   字段1=TouchEmail   then   TouchEmail   end,
case   when   字段1=TouchFax   then   TouchFax   end,
from   table
group   by   字段1,TouchEmail,TouchFax


这样写的话,结果集里会有三个字段,
字段1,TouchEmail,TouchFax
如何将后两个字段全并呢?不管是TouchEmail还是TouchFax统一命名为TouchInfo,如何实现这样的SQL语句?



------解决方案--------------------
select 字段1,字段2=(case 字段1 when 'Email ' then TouchEmail else TouchFax end)
from table
--group by 字段1,TouchEmail,TouchFax -- groupby 中的字段必须出现在查询字段中