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...