sql中使用if多條件判斷

2021-08-30 05:17:10 字數 1050 閱讀 7284

1、以一表為例:bill 單據表

id         billno           status        amount            create_date

1         gr0001          gr               155               2009-09-09

2         do0001          do              150               2009-09-09

2         so0001          so               153               2009-09-09

說明:status:gr表示「進貨單」

status:do表示「出貨單」

status:so表示「銷售單」

2、實現按日期統計進貨、銷售、出貨,

針對mysql使用如下sql

select create_date,

sum(if(status='gr',amount,0)) as am1,

sum(if(status='do',amount,0)) as am2,

sum(if(status='so',amount,0)) as am3

from bill group by create_date

針對oracle使用如下sql

select create_date,

sum(decode(status,'gr',amount,0)) as am1,

sum(decode(status,'do',amount,0)) as am2,

sum(decode(status,'so',amount,0)) as am3

from bill group by create_date

3、效果如下

create_date          am1        am2        am3

2009-09-09           155         150         153

CASE WHEN THEN END多條件判斷

create table employees emp no int 11 not null,birth date date not null,first name varchar 14 not null,last name varchar 16 not null,gender char 1 not ...

Sql多條件查詢

sql 多條件查詢的一種簡單的方法 以前我們做多條件查詢,一種是排列結合,另一種是動態拼接sql 如 我們要有兩個條件,乙個日期 adddate,乙個是 name 第一種寫法是 if adddate is not null and name select from table where addda...

sql中使用IF條件查詢

sql 使用場景 當其他模組插入關聯值不一致但是要作顯示時,可以使用鍊錶查詢,利用if來判斷並替換顯示 語句 select m.id,m.req raw material uuid,m.req raw task uuid,m.material info no,m.part no,m.grade na...