sql中的多表統計

時間 2022-05-01 21:35:11

1樓:匿名使用者

create table 庫存表 as select b.品名 as 品名,a.suma as 出數量,b.

sumb as 進數量,(b.sumb-a.suma) as 庫存 from (select 品名,sum(數量) as suma from 出貨表 group by 品名) as a right join (select 品名,sum(數量) as sumb from 進貨表 group by 品名) as b on a.

品名=b.品名;

直接執行上面的sql語句,就可以獲得新表:庫存表。

2樓:我tm不管

select 品名,sum(出數量) as 出數量,sum(進數量) as 進數量,sum(進數量)-sum(出數量) as 庫存 into 庫存表

(select 品名,sum(數量) as 出數量,0 as 進數量 from 出貨表 group by 品名

union all

select 品名,0 as 出數量,sum(數量) as 進數量 from 進貨表 group by 品名

) a group by 品名

上面是sqlserver的語法:

careate table 庫存表 as

select 品名,sum(出數量) as 出數量,sum(進數量) as 進數量,sum(進數量)-sum(出數量) as 庫存

(select 品名,sum(數量) as 出數量,0 as 進數量 from 出貨表 group by 品名

union all

select 品名,0 as 出數量,sum(數量) as 進數量 from 進貨表 group by 品名

) a group by 品名

上面是oracle的語法

3樓:匿名使用者

你的庫存表是已經存在的嗎?如果不是要這樣寫 database.dbo.into 庫存表 就可以新建一個庫存表並插入資料了

select b.品名 as 品名,a.suma as 出數量,b.sumb as 進數量,(b.sumb-a.suma) as 庫存

into databasename.dbo.into 庫存表 from (select 品名,sum(數量) as suma from 出貨表 group by 品名) as a right join (select 品名,sum(數量) as sumb from 進貨表

group by 品名) as b on a.品名=b.品名測試過了,在sqlserver 2005裡結果和你想要的一樣。

4樓:匿名使用者

select a.品名,a.出數量 ,b.進數量,(a.出數量-b.進數量) as 庫存

from

(select 品名, sum(數量) as 出數量from 出貨表

group by 品名) a,

(select 品名, sum(數量) as 進數量from 進貨表

group by 品名) b

where a.品名 = b.品名

SQL連線查詢,sql 連線查詢跟多表查詢的區別

select a.name,substr max sys connect by path b.definition,2 prize from a,b,select rn,prize id,decode rn,1,0,instr prize,1,rn 1 1 sp,decode instr prize...

關於sql查詢,想從很多表中查詢欄位值

select q.條碼 case when isnull a.a站點,then t else f end 是否經過a站點 case when isnull b.b站點,then t else f end 是否經過b站點 from 條碼錶 q left join a a on a.條碼 q.條碼lef...

sql連線查詢跟多表查詢的區別

這倆沒區別 就是寫法不同 這個就如同表1裡有a,b倆欄位一樣 select a,b from 表1 select from 表1 是一樣的 順便給你擴充套件下吧 在資料庫裡還有left join,right join,full join等 當這樣的時候用 select from table1,tab...