sql語句如何實現下列結果(主要是在結果中如何填寫資料「

時間 2022-06-25 11:40:07

1樓:匿名使用者

參考下面**

declare @table1 table(編號 varchar(10)

,型別 varchar(10)

,金額 int

)declare @table2 table(編號 varchar(10)

,名稱 varchar(10)

)insert into @table1

select

'01',

'大',

500 union all select

'01',

'中',

400 union all select

'01',

'小',

300 union all select

'02',

'中',

350insert into @table2select

'01',

'a' union all select

'02',

'b' union all select

'03',

'c'select

t2.編號,

t2.名稱,

isnull(sum(case

when t1.型別 = '大' then 金額end), 0) as '大',

isnull(sum(case

when t1.型別 = '中' then 金額end), 0) as '中',

isnull(sum(case

when t1.型別 = '小' then 金額end), 0) as '小'

from @table2 t2

left join (select

編號,型別,

sum(金額) 金額

from @table1

group by    編號,

型別) t1

on t2.編號 = t1.編號

group by    t2.編號,

t2.名稱

2樓:匿名使用者

select 表2.編號,

表2.名稱,

sum(case when 表1.型別='大' then 金額 end) 大,

sum(case when 表1.型別='中' then 金額 end) 中,

sum(case when 表1.型別='小' then 金額 end) 小,

from 表2  left join (select 編號,型別,sum(金額) 金額 from 表1 group by 編號,型別) t

on 表2.編號=t.編號

group by 表2.編號, 表2.名稱

3樓:胤漱璺

使用 isnull函式,即指定的替換值替換 null。語法isnull ( check_expression , replacement_value )

即isnull('欄位名,'自定義名'),把『自定義名』寫成『0』就行了。

4樓:暮然回首時l燈火已闌珊

select a.id,a.name,b.money,c.money,d.money from t2 as a

left join t1 as b on a.id=b.id and b.type='大'

left join t1 as c on a.id=c.id and c.type='中'

left join t1 as d on a.id=d.id and d.type='小'

欄位空可以用0替換

5樓:匿名使用者

你下面這個也只有一個查詢結果而已;關鍵是看你要的是查詢結果而已還是要把結果表為空的變成0

sql語句如何實現下列情況

6樓:匿名使用者

select a,b,c,d,e,f,case when b+c>500 then e+f else d+f end as g from 表名

編寫sql語句,現在有資料,如果要生成下列結果, 該如何寫sql語句?

7樓:揭擾龍晨

這個得最好通過後臺程式,將每條記錄讀取為字串,擷取前10個字元,與"2005-05-09 ",和"2005-05-10"比較,然後擷取最後一個字元,並與"勝"、"負"比較,求得"2005-05-09"勝負出現次數,以及"2005-05-10"勝負出現次數。

8樓:匿名使用者

按時間分組 計算當日'勝'和'負'的個數

select 日期 ,count勝), count(負) from table group by 日期

9樓:

select m.時間,m.勝場,n.敗場from (select 時間,count(*)as 勝場from a

where 輸贏='勝'

group by 時間)m,

(select 時間,count(*)as 敗場from a

where 輸贏='敗'

group by 時間)n

where m.時間=n.時間

10樓:心語

select 日期,

sum(case when 結果 = '勝' then 1 else 0 end) as 勝,

sum(case when 結果 = '負' then 1 else 0 end) as 負,

from table group by 日期