問題:
--建立測試表if exists (select * from sys.objects where object_id = object_id(n'
[dbo].[tb]
') and type in (n'u'
))drop table [dbo].[tb1]
gocreate table [dbo].[tb1](
[卡狀態] [nvarchar] (
20) null,
[卡型別] [nvarchar](
50) null,
) on [primary]go
--插入測試資料
insert into [tb1] ([卡狀態],[卡型別])
select n'發卡
',n'
正式卡'
union all
select n'發卡
',n'
正式卡'
union all
select n'發卡
',n'
臨式卡'
union all
select n'製卡
',n'
臨式卡'
union all
select n'製卡
',n'
正式卡'go
回帖:
select 卡狀態 + '數', count(
1) as 總數 ,
sum(case when 卡型別 = '
正式卡' then 1
else
0end) as 正式卡 ,
sum(case when 卡型別 = '
臨式卡' then 1
else
0end) as 臨式卡
from tb1
group by 卡狀態
巧用case when 解決多條件模糊查詢問題
我們在進行專案開發中,經常會遇到多條件模糊查詢的需求。對此,我們常見的解決方案有兩種 一是在程式端拼接sql字串,根據是否選擇了某個條件,構造相應的sql字串 二是在資料庫的儲存過程中使用動態的sql語句。其本質也是拼接sql字串,不過是從程式端轉移到資料庫端而已。這兩種方式的缺點是顯而易見的 一是...
多條件游標更新 變CASE WHEN更新法提高速度
定義個結構體陣列 type ty parmeter is record v hezuotype number 1 v comefrom varchar2 50 v regchannel varchar2 50 v newchannel nvarchar2 30 type ty parmeter ta...
adodataset locate的多條件定位
tadoquery,tadodataset的locate功能相信大家都經常用了 with adoquery do begin if locate orders zhuang1 vararrayof vorder,vname then begin end end 可能大家有時候也會發現它有不靈的時候,...