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

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

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中如何實現多列不同資料的查重

萬年金剛鑽 想問一下樓主,e列的資料,都含有公司兩個字,並且前面就是公司名稱而沒有其他的多於字元了?問這個問題是在考慮到底是 用複雜一點的公式來完成匹配 還是 用vba,在找到金額相同的資料的情況下 可能不止一條 把文字的相關度最大的那條挑選出來 看到樓主的資料了。感覺如下 直接用金額一對一地判斷,...

cad 如何設定佈局裡不同視口顯示不同圖層

小丁創業 實現的方法和詳細的操作步驟如下 1 第一步,開啟工程圖。為了演示,在佈局中建立兩個相同的視口,如下圖所示,然後進入下一步。2 其次,完成上述步驟後,雙擊進入紅色視口,然後選擇不需要顯示的物件,在層中可以看到該物件所在的層,如下圖所示,然後進入下一步。3 接著,完成上述步驟後,單擊圖層視窗以...

神的啟示與人的啟示有何不同,如何辨別

txh444txh444遇到不平安或神的管教,去省察是因自己什麼罪帶來的.箴言 26 2 麻雀往來,燕子翻飛,這樣,無故的咒詛,也必不臨到。傳道書 8 5 凡遵守命令的,必不經歷禍患。神的啟示 一般至少給三次 或同時 給三個人 神的啟示可以應驗 神的啟示只會要你做好事 不做壞事 神的啟示是禮物,是不...