sql中的這樣的子查詢不行嗎

時間 2022-09-22 20:40:17

1樓:老師小喬

我覺得這個地方很別捏:where k1=all(select k1=

是不是可以寫成:where k1 in (select……)

另外這一段**:select k1=

case

when net_yxrs/30-round(net_yxrs/30,0,1)<=0.3 then round(net_yxrs/30,0,1)

when net_yxrs/30-round(net_yxrs/30,0,1)<=0.7 then round(net_yxrs/30,0,1)+0.5

else round(net_yxrs/30,0,1)+1

endfrom daochu

where t_zjjs=0000107

請問是不是寫成檢視之後然後在進行查詢操作更為方便更為易懂呢?另外兩個when中,一個小於等於0.3,一個小於等於0.

7,如果是等於0.2怎麼辦?執行哪一個條件?

這僅僅只是我的一個質疑。

以下是我的寫法:

create view select_k1

asselect

case k1

when net_yxrs/30-round(net_yxrs/30,0,1)<=0.3 then round(net_yxrs/30,0,1)

when net_yxrs/30-round(net_yxrs/30,0,1)<=0.7 then round(net_yxrs/30,0,1)+0.5

else round(net_yxrs/30,0,1)+1

(以上暫且沿用你的寫法,還請你驗證一下我的質疑)

end as _k1

from daochu

where t_zjjs=‘0000107’(此處是不是得每次傳值使用啊?如果是每次的值不一樣,又是另外一種情況了)

然後:select a.k1_xz

from sk_k1 a,select_k1 b

where a.k1=b._k1

希望對你有所幫助

2樓:匿名使用者

select k1_xz

from sk_k1

where k1 in (select

case

when net_yxrs/30-round(net_yxrs/30,0,1)<=0.3 then round(net_yxrs/30,0,1)

when net_yxrs/30-round(net_yxrs/30,0,1)<=0.7 then round(net_yxrs/30,0,1)+0.5

else round(net_yxrs/30,0,1)+1endfrom daochu

where t_zjjs=0000107)

3樓:

where k1=all(select k1=

這裡這個all有用?

SQL查詢中關於的問題

你這個似乎是basic吧。basic裡面 是字串連線的運算子,僅僅是個運算子,不是什麼變數!如果 text1.text 的值是 15 那麼 val text1.text 就是 15。因此 adodc1.recordsource select from 書名 where 銷售量 val text1.t...

SQL連線查詢,sql 連線查詢跟多表查詢的區別

select a.name,substr max sys connect by path b.definition,2 prize from a,b,select rn,prize id,decode rn,1,0,instr prize,1,rn 1 1 sp,decode instr prize...

sql表中同時查詢兩個count的sql語句

可以有兩種解決方法。方法1 select name count 1 as 總題數 sum case when statu 1 then 1 else 0 end as 稽核題數 from question group by nme 方法2 select s.總題數,s.稽核題數,s.name fro...