用帆軟報表直接寫乙份報表,要求如下:
查詢條件包括工單號、錄入員工號以及測試時間
工單號和錄入員工號為可選條件,勾選並輸入才會進行篩選
測試時間為必填條件,查詢該事件段內資料
這裡條件是根據傳入引數動態變化的,也意味著sql的查詢也要跟著動態變化。以前寫web都是通過相關框架進行查詢,比如使用if標籤,很少碰到直接使用sql的情況。剛開始也是想用if完成的,後來看到了case when,嘗試一下用case when進行查詢條件的增刪改。
使用的是帆軟報表,查詢**如下
where
time
between
'$'and
'$'and
case
when
'$'=
'true'
then vc_operator
when
'$'=
'false'
then
'$'end
='$'
andcase
when
'$'=
'true'
then vc_workorder
when
'$'=
'false'
then
'$'end
='$'
結構如下
case
when 勾選 then 表中值
andwhen 不勾選 then 輸入值
end=輸入值
也就是說勾選的情況下用表中值與輸入值做對比,該查詢條件起作用,不勾選的情況下用輸入值與輸入值做比較,結果必定相等,該查詢條件效果上就沒作用了。也就達到了需要的結果。 使用case when的心得
今天看到了這樣乙個sql語句 select top 100 from test order by case when expire date getdate then 0 else 1 end gold desc,expire date desc 剛開始我想這個sql語句最多兩個結果 1 selec...
case when語句的使用
用一條sql語句將下面scales表內的資料,查詢為圖二形式 圖一 圖二 mysql select year 年,sum case when month 1 then scale else 0 end 一月,sum case when month 2 then scale else 0 end 二月...
利用case when進行sql動態排序
乙個sql動態排序的問題,弄了我很久很久。就是無法解決。結果在網上找了一段資源幫我解決。如下 sql排序方法,exec法和case when法 在日常的報表中常用到排序,有些是多字段的公升,降序,一般有兩種方法,如下所示 create table tmp row int,id nvarchar 10...