求一条sql 语句的写法

aplesen 2010-09-16 12:40:17

select top 1 ccMileage,ccClearPrice,ccCheckPrice from BS_ClearingChecking
where 1=2


得到的结果是:
ccMileage ccClearPrice ccCheckPrice
如果返回datatable的话应该就是空的了,
我现在想要的结果是这样的
ccMileage ccClearPrice ccCheckPrice
0 0 0
请问,我该如何改写这条语句
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
aplesen 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sqlcenter 的回复:]
SQL code
select 0 ccMileage, 0 ccClearPrice, 0 ccCheckPrice
[/Quote]
没看懂 数据库是sql server 2005
SQLCenter 2010-09-16
  • 打赏
  • 举报
回复
select 0 ccMileage, 0 ccClearPrice, 0 ccCheckPrice
aplesen 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 firewold 的回复:]
这样数据返回要求让人很费解,对 BS_ClearingChecking 来说没有返回行集和返回 全“0”的行集完全不是一回事! 在现实世界中这也因该是有不同含义的。
要是我遇到这样不可理喻的看数据要求,我会这样来应付一下!

SQL code

select top 1 ccMileage,ccClearPrice,ccCheckPrice into #temp from BS_Clea……
[/Quote]
不是不可理喻的数据要求,现实中确实存在的,意思就是先去查价格。查不到就默认给0,呵呵,你的语句可以实现,我昨晚在程序中去处理了,呵呵
firewold 2010-09-16
  • 打赏
  • 举报
回复
这样数据返回要求让人很费解,对 BS_ClearingChecking 来说没有返回行集和返回 全“0”的行集完全不是一回事! 在现实世界中这也因该是有不同含义的。
要是我遇到这样不可理喻的看数据要求,我会这样来应付一下!

select top 1 ccMileage,ccClearPrice,ccCheckPrice into #temp from BS_ClearingChecking where 1=2
if (@@RowCount=0)
select 0 ccMileage, 0 ccClearPrice, 0 ccCheckPrice
else
selecT * from #temp
喜-喜 2010-09-16
  • 打赏
  • 举报
回复
'如果返回datatable的话应该就是空的了'

看这句话的意思,楼主是想要在其他编程语言中使用哈!就像C#中的datatable那样获取查询结果!这样写试试 select top 1 rtrim(ccMileage),rtrim(ccClearPrice),rtrim(ccCheckPrice) from BS_ClearingChecking --这样写 rtrim(ccMileage),把数值改为字符串
where 1=2 --这个位置感觉不太妥当 条件好像不能成立

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧