typeID name
1 xiaohua
0 bailiang
0 zhangdan
1 lihui 表如上 现在我要通过select语句读这个表产生一个如下视图yourname myname
xxxx xxxxx其中yourname和myname都是用的name字段,不同的是yourname要求typeID等于1,myname要求typeID等于0,请问这个select语句怎么写? 要求在DBGrid里显示.回答者100分送上.当场结分
1 xiaohua
0 bailiang
0 zhangdan
1 lihui 表如上 现在我要通过select语句读这个表产生一个如下视图yourname myname
xxxx xxxxx其中yourname和myname都是用的name字段,不同的是yourname要求typeID等于1,myname要求typeID等于0,请问这个select语句怎么写? 要求在DBGrid里显示.回答者100分送上.当场结分
解决方案 »
- Windows XP Embedded 下的数据库链接
- 大家推荐个好用点的编译器啊,
- 有关delphi中edit数值计算的问题!高手请指教!!!
- 调用DLL后释放时出错,代码在内容中,请帮帮俺!
- delphi 获取 cpu 核心,内存型号和内存大小等硬件信息。
- 请教一个网络的问题,在线等待
- 想移除MP3格式文件中的人物原声,保留背景音乐,请问如何实现?
- 请教如何调用XP自带的传真用来发送和接收传真
- paradox表格输入问题(急!急!急!!!!!!!!!!!)
- 提问:请问那里有delphi中文的库函数手册 ????? 我用西文的把我弄C了。
- 一个郁闷的问题。求教
- 一个备份恢复的奇怪问题 在线等
yourname=case when typeID=1 then name end
from 表
case when typeID=1 then name end as yourname
from 表
sql server实现的方法:Create table tt(type int,name char(10))goinsert into tt
select 1,'t1'
union all
select 1,'t2'
union all
select 0,'t3'
union all
select 0,'t4'go
------实现------
select id=identity(int,1,1),* into #t1 from tt where type = 1select id=identity(int,1,1),* into #t2 from tt where type = 0select #t1.name as yourname , #t2.name as myname from #t1 full outer join #t2 on #t1.id = #t2.id
----------------
go
drop table #t2
drop table #t1
drop table tt
case when typeID=1 then name end as yourname
from 表
myname yourname
bailiang xiaohua
zhangdan lihui
现在的空格可以用ltrim(rtrim(字段名))来处理掉。
我最终想要的效果是这样的myname yourname
bailiang xiaohua
zhangdan lihui
在查询分析器执行一下。
case when typeID=1 then name end as yourname
from 表
应该可以实现啊,
case when typeID=1 then rtrim(name) end as yourname
from 表