1樓:
現有資料表t_data(id, type ,field1, field2)。
現在希望寫一條update語句,實現當type='a'時更新field1的值為'x',當type='b'時更新field2的值為'x'。
update t_data set field1=(case when type='a' then 'x' else filed1 end)
,filed2=(case when type='b' then 'x' else filed2 end)
where ***
2樓:匿名使用者
需要複製一段**,帶入後即可更新一張資料表的不同字段,具體如下:
複製** **如下:
update mytable
set myfield = case idwhen 1 then 'value'
when 2 then 'value'
when 3 then 'value'
endwhere id in (1,2,3)這裡使用了case when 這個小技巧來實現批量更新。
舉個例子:
複製** **如下:
update categories
set display_order = case idwhen 1 then 3
when 2 then 4
when 3 then 5
endwhere id in (1,2,3)這句sql的意思是,更新display_order 字段,如果id=1 則display_order 的值為3,如果id=2 則 display_order 的值為4,如果id=3 則 display_order 的值為5。
即是將條件語句寫在了一起。
這裡的where部分不影響**的執行,但是會提高sql執行的效率。確保sql語句僅執行需要修改的行數,這裡只有3條資料進行更新,而where子句確保只有3行資料執行。
3樓:之何勿思
可使用case when來實現這個條件,需要巢狀子查詢語句,sql語句**示例如下:
1、首先你這裡的不同字段應該有個優先級別,類似先判斷哪個字段然後判斷哪個字段。如果僅僅以字段和字段值來作為條件 用decode 套 decode 直到符合你的邏輯需求。
2、如果牽扯到兩個字段值的比較。例如:如果欄位a等於欄位b則顯示*** 這種判斷請使用nullif配合decode也可以用when case (9以前可能不支援nullif)。
舉例如下:
1、資料表為demotable,欄位有id, condition1,condition2,condition3,condition4,condition5
2、要求是查詢demotable中,condition1,condition2,condition3,condition4,condition5五個欄位中符合任意兩個或兩個以上的條件的內容。
4樓:匿名使用者
update t_data set field1=(case when type='a' then 'x' else filed1 end)
,filed2=(case when type='b' then 'x' else filed2 end)
where ***
5樓:驛路開花
答案在這裡
update t_data set field1=(case when type='a' then 'x' else filed1 end)
,filed2=(case when type='b' then 'x' else filed2 end)
where ***
一條sql update如何同時更新兩個欄位的值按不同條件
6樓:匿名使用者
能,但是你說的不清楚,寫個語句你看看,能否受到啟示。
update 表名 set 欄位1= case when 條件版1 then 1 else 0 end, 欄位2= case when 條件2 then 0 else 1 end
意思你理解了,權就會寫了,這裡的值我用1和0代替的,具體的看你的是啥了。
用case when 你去研究研究這個語法。呵呵。
sql中的update如何根據不同條件修改多條資料的同一列 10
7樓:娛樂小八卦啊
如果只需要更新乙個字段,mysql和oracle語法是一樣的,在 set 後面跟乙個子查詢即可。
現在需要同時更新內2個字段,最不容經過大腦思考的方法就是 「為每個 set 後面都跟乙個子查詢」,但是假如要 set 十個字段或者更多字段,很顯然,這樣在效能上是很不合適的方法。
同時更新多個欄位在mysql和oracle中的方法是不一樣,mysql需要連線表,oracle使用 set(...) 即可。
擴充套件資料
sql更新語句中update用法:
語法:update 表名稱 set 列名稱 = 新值 where 列名稱 = 某值
更新某一行中的乙個列
為 lastname 是 "wilson" 的人新增 firstname:
update person set firstname = 'fred' where lastname = 'wilson'
請注意 sql update 語句中的 where 子句!
where 子句規定哪條記錄或者哪些記錄需要更新。如果您省略了 where 子句,所有的記錄都將被更新!
8樓:匿名使用者
可以啊修改where條件
update abc set a=1 where id=1 or id=2
你給的例句有問題啊,表名abc,後面寫的是a.id
9樓:傲雪
update abc set abc.a=1 where a.id in (1,2),字元型別加''號
10樓:工業分析中
修改學生bai表中性別列,如果是du男,就修改zhi為1,如果是女就修改dao為0,其他情況為專2
請參照如下語屬句修改執行:
update student set *** = (case when ***='男' then 1 when ***='女' then 0 else 2 end) where 1=1
sql語句更新資料庫中乙個表中同一字段(根據其他字段)賦予不同值
11樓:匿名使用者
update jiage set price=case when uid>0 and uid<=5 then '$a' when uid>5 and uid<=10 then '$b' when uid>10 and uid<=20 then '$c' end
貌似你那語句有地方寫錯了,怎麼又大於10又小於等於10的
sql語句中有更新同乙個欄位下,不同行給予不同值的嗎?(用一句sql搞定)
12樓:sql的藝術
update
set欄位名zhi=case when 欄位名x='a' then 1 when 欄位名x='b' then 2 else 3 end
from
表名where
條件dao1
and 條件2
....
使用case語句,即可做版到你得要權求
在sql中表中資料同一列資料根據不同條件資料顯示成兩列,sql語句怎麼寫? 原資料
13樓:_冰河
看表結構
lbbh欄位是指類別編號,
fjbh欄位應該是上級的類別編號
但樓主的表述真的不清楚,我都不知你最後要輸出神馬?
14樓:匿名使用者
用case when,比如我的如下:
/***sql 根據不同狀態,顯示不同列
**/select
date(t.add_time) as add_time,ifnull(sum(case when t.`status`=0 then trade_money end ),0) as unsend_trade_money,
ifnull(sum(case when t.`status`=1 then trade_money end ),0) as send_trade_money,
count(1) as countpeoplefrom lr_red_pocket_log tgroup by date(t.add_time);
你再自己根據這樣的去改吧。
15樓:不知光年
有沒有看完沒矇圈的,上來翻譯一下。
oracle,sql語句同一表中同一字段不同條件count(*) 5
16樓:匿名使用者
樓主抄 這個問題很簡單嘛 就是分組即可
假如第一列字
段是col1 第二列的字段是col2
select col2,count(1) col1 from tbname
group by col2
17樓:徘徊行忍
典型的case when 語句塊可以bai解決.先對映表的檢視du,新增條zhi件過濾
例如性別為m的和dao為f的分別計數專name,可以寫成屬:select b1.***, count(b1.name)from ((select bh.*,
(case when ***= 'm' then 1 else 0 end) as qty /*此處可寫多個when*/
from user_d bh) b1)
group by b1.***
18樓:匿名使用者
select substr(abc,1,5),count(*)from tbname
where kprq group by substr(abc,1,5) 19樓:匿名使用者 select 1,count(*) from 表名 group by 1 無語翹楚 正迴圈鑽機和反迴圈鑽機,都是通過鑽井液 泥漿 的迴圈進行保護鑽井井壁和出渣的,即通過鑽井液 泥漿 的迴圈,把鑽孔裡的鑽渣帶出來。它們在鑽進成孔的工藝上是相同的,適用的地層也基本相同。不同的就是鑽井液 泥漿 的迴圈方式。正迴圈鑽機的鑽井液 泥漿 是由泥漿幫浦從泥漿池裡抽到鑽桿裡,通過鑽桿不斷... 乘興運 熔點指的是物體在到達某個固定的溫度時會由固態變為液態,沸點指的是液體到達某一溫度時直接變為氣態,碘是個例外 20 在相同條件下,解釋不同狀態的物質的熔 沸點的定義。例如解釋什麼是固體或氣體的熔沸點 由於物質的性質不同,所以它們的聚合狀態的變化溫度也不相同。由固態變液態的溫度叫熔點,由液態變氣... 姓名 日期 日子 結果 a 2010 8 1 1 ab b 2009 4 1 2 c c 2008 5 2 3 d d 2009 1 3 4 ef e 2009 8 4 f 2009 6 4 如圖,在c列輸入1,2,3,4,然後在d2單元格輸入 回車後,向下複製公式即可!但無法用逗號分隔。公式的話,...什麼地質條件下用正迴圈鑽機,什麼地質條件下用反迴圈鑽機
在相同條件下,解釋不同狀態的物質的熔 沸點的定義。例如解釋什
Excel兩列條件下的資料