SQL如何不同列顯示不同條件查詢的結果

時間 2021-11-04 14:11:13

1樓:匿名使用者

用一個sql語句即可是 實現,以下是oracle的寫法,sqlserver的寫法只需將decode 換成case when then 結構即可

select decode(a.name,null,b.name,a.name),a.money1,b.money2 from

(select name,sum(money) as money1 from tablewhere idate>1)a full join

(select name,sum(money) as money2 from tablewhere idate<1)b on a.name=b.name

2樓:sql的藝術

select a.name,money1,money2 from(select name,sum(money) as money1from table

where idate>1

) ainnser join (select name,sum(money) as money2

from table

where idate<1

) b on a.name=b,name

3樓:乾坤天道

直接用union就可以了

求sql查詢語句,同一張表同一列按照不同的查詢條件,顯示不同的資料

4樓:匿名使用者

select 單號,case when 單號 like 'qw%' then 金額 when 單號 like 'th%' then -1*金額 else 金額 end 金額

from a;

5樓:匿名使用者

select 單號, (case when 單號 like 'qw%' then 1 when 單號 like 'th%' then -1 else 0 end) * 金額

from a

6樓:匿名使用者

select 單號,

(case substr(單號,1,2) when 'qw' then 金額

when 'th' then -1*金額

end case) as 金額

from a

7樓:

select case when substr(單號,1,2) ='qw' then abs(單號)

when substr(單號,1,2) =th' then -abs(單號)

end case,

金額 from a

求sql查詢語句,表的列資料按照條件不同輸出為不同的列,並統計個數。

8樓:匿名使用者

select distinct(單位),count(單位) as 型別

數量,sum(case when  型別=1 then 1 else 0 end)  as 型別為1 ,

sum(case when 型別=2 then 1 else 0 end) as 型別為2,

sum(case when 型別=3 then 1 else 0 end) as 型別為3

from sh1

group by 單位

已測試,結果:

a2110

b3111

c1010

也祝福您專身體健康,多金多福 ,快屬採納,哈哈!

9樓:匿名使用者

select 單位

zhi,

sum(case 型別

dao when '1' then 1 else 0 end) as 型別為

版1,sum(case 型別 when '2' then 1 else 0 end) as 型別為2,

sum(case 型別 when '3' then 1 else 0 end) as 型別為3

from 表權a group by 單位

在sql中表中資料同一列資料根據不同條件資料顯示成兩列,sql語句怎麼寫? 原資料

10樓:_冰河

看錶結構

lbbh欄位是指類別編號,

fjbh欄位應該是上級的類別編號

但樓主的表述真的不清楚,我都不知你最後要輸出神馬?

11樓:匿名使用者

用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);

你再自己根據這樣的去改吧。

12樓:不知光年

有沒有看完沒蒙圈的,上來翻譯一下。

sql如何將一個表裡的不同條件查詢結果拼接顯示

13樓:匿名使用者

關係型資料庫是以一行來表示一條資料的,而不是一列。你要得出的那個**,一行沒有任何意義。

**僅作參考:

declare @count0 int;

declare @count1 int;

declare @count2 int;

declare @count3 int;

if(object_id('tablea') is not null) drop table tablea

select getdate() as createtime, 產品名稱 into tablea from [表名] where 銷售金額 >=200 and 銷售金額 <= 599;

if(object_id('tableb') is not null) drop table tableb

select getdate() as createtime, 產品名稱 into tableb from [表名] where 銷售金額 >=600 and 銷售金額 <= 899;

if(object_id('tablec') is not null) drop table tablec

select getdate() as createtime, 產品名稱 into tablec from [表名] where 銷售金額 >=900 ;

select @count1 = count(1) from tablea;

select @count2= count(1) from tableb;

select @count3= count(1) from tablec;

set @count0 = @count1;

if @count0<@count2

begin

set @count0 = @count2;

endif @count0<@count3

begin

set @count0 = @count3;

enddeclare @i int;

set @i = 0;

while(@count1+@i)<@count0

begin

insert into tablea values(getdate(),'');

set @i = @i+1;

endset @i=0;

while(@count2+@i)<@count0

begin

insert into tableb values(getdate(),'');

set @i = @i+1;

endset @i=0;

while(@count3+@i)<@count0

begin

insert into tablec values(getdate(),'');

set @i = @i+1;

endselect a.產品名稱 as '200到599',b.產品名稱 as '600到899',c.產品名稱 as '900以上'

from (select row_number() over(order by createtime) as rownum, 產品名稱 from tablea) a

left join

(select row_number() over(order by createtime) as rownum, 產品名稱 from tableb) b on a.rownum = b.rownum

left join

(select row_number() over(order by createtime) as rownum, 產品名稱 from tablec) c on c.rownum = b.rownum

14樓:

select max(case when 銷售金額 between 200 and 599 then 產品名稱 else null end) **200到599,

max(case when 銷售金額 between 600 and 899 then 產品名稱 else null end) **600到899,

max(case when 銷售金額 > 900 then 產品名稱 else null end) **900以上

from 表名 ;

15樓:匿名使用者

用 and 和 or 一起實現

excel兩列文字明明相同卻顯示不同

用lenb函式檢側兩個單元格的長度是否一致。 在excel中使用回車鍵,系統就預設為執行向下移動到下乙個單元格命令,因此不能象word中一樣用回車鍵在單元格中換行,而要excel中的乙個單元格輸入兩行文字有下面兩種方法 第一種 選中要錄入的單元格,使用格式菜選單中的 單元格格式 命令,進入後在 對齊...

excel中如何將不同行不同列幾種相同內容的單元格分別用不同的顏色標記出來

傅行雲時代 1 選中資料區域,選擇條件格式 2 突出顯示單元格規則,選擇等於,為等於以下值的單元格設定格式 3 設定為中選擇自定義格式 4 設定好相應格式點確定,重複上述操作,直到設定完成。 退休畫線工 可以用條件格式實現,如果是excel2007以下版本,可以實現多個條件格式,而2003只能實現3...

EXCEL如何設定不同內容單元格顯示不同顏色

不知道你的實際情況是怎樣的,只能給一個建議。篩選資料,確定不重複的資料一共有多少種。給每種資料設定一個底色。使用條件格式,則輸入資料就會自動顯現不同底色。 根據查詢內容設定不同的顏色 1傑爺 我是直接點篩選,按名稱一排然後選中改色 顧問田先生 單獨選擇模組,在選單有顏色選項。excel中如何設定不同...