请教下大家:一个表中有4列:xh,a,b,c,现在要根据这个表查询xh的完成情况:如果c>a,则xh已完成,否则如果b+c>=a,则xh生产中,否则xh未生产,该怎么查询生成一个表xh,wc(完成情况)?
解决方案 »
- 请教大家一个问题
- SQL 语句 点问题
- 希望牛人来帮忙解决下!这个 更新语句怎么写?
- 急!怎么还原数据啊?刚才用delete删错表数据了
- 如何绑定两个数据表???急~~~~~
- 关于sql数据库的提问,希望高手进来帮忙
- [DBNETLIB][ConnectionOpen] (Instance())] 无效的连接
- 哪几种情况导致日志增大?日志要设多大为好?数据库管理员要做哪些工作?
- 请问可以用一个sql语句update两个表吗??
- 为什么我用ODBC创建的与另一台机器上的SQL Server的连接,在正常工作一段时间后会断开?
- 求SQL语句问题
- 子查询返回的值多于一个时,把所的值连接成一个字符串,怎么写?
case when c>a then 'xh已完成' when b+c>=a then 'xh生产中' else 'xh未生产' end
from tbName
elseif then ...
else ...
end if
表table1
xh a b c
001 3 0 4
002 4 1 1
003 4 2 3
查询得到表table2
xh wc
001 已完成
002 未生产
003 生产中
insert into #t
select '001', 3, 0, 4 union all
select '002' , 4 , 1 , 1 union all
select '003' , 4 , 2 , 3
select
xh,
case when c>a then '已完成' when b+c>=a then '生产中' else '未生产' end
from #t
drop table #t
insert into #t
select '001', 3, 0, 4 union all
select '002' , 4 , 1 , 1 union all
select '003' , 4 , 2 , 3
select
xh,
case when c>a then '已完成' when b+c>=a then '生产中' else '未生产' end as wc
from #t
drop table #t