sql關於多表查詢統計
1樓:賓士
select
a.小組名,nvl(sum(b.積分),0) 小組總積分,nvl((sum(b.積分)/count( distinct a.成員編號)),0) 小組平均積分。
from a left join b on a.成員編號=b.成員編號 group by a.小組名;
oracle 執行結果。
sql> select
2 a.小組名,3 nvl(sum(b.積分),0) 小組總積分,4 nvl((sum(b.積分)/count( distinct a.成員編號)),0) 小組平均積分。
5 from a left join b on a.成員編號=b.成員編號 group by a.小組名;
小組名 小組總積分 小組平均積分。
aaa 140 70
bbb 80 40
ccc 0 0
把你的null改成 nvl,試試。
2樓:
select
a.小組名 as 小組名,null(sum(b.積分),0) as 小組總積分,null((sum(b.積分)/count( distinct a.成員編號)),0) as 小組平均積分。
from a
left join b on a.成員編號=b.成員編號group by a.小組名。
sql多表查詢,怎麼做?????
3樓:匿名使用者
根據你的查詢結果要求,可以根據一下幾個步驟確定多表查詢語句的寫法:
1、要顯示所有學生資訊、班級、年級等資訊,則需以主表1為主記錄,其他表通過外連線的方式進行關聯;
2、left join 關鍵字會從左表那裡返回所有的行,即使在右表中沒有匹配的行,確定主表之後,其他關聯表使用left join;
3、拼接sql語句,需要確定關聯欄位主表1與表2的關聯為主表表,主表1與表3的關聯為主表表,主表1與表4的關聯為主表表4、具體語句為:
select 表, 表,表,表。
from 表1
left join 表2 on 表 = 表left join 表3 on 表 = 表left join 表4 on 表 表。
4樓:匿名使用者
不知道你的表都叫什麼名字,例如叫:table1\table2\table3\table4
select , from table1 t1
join table2 t2 on =
join table3 t3 on =
join table4 t4 on =
5樓:迷瞪的紅色巴士
select 表 ,表,表,表from 表1,表2,表3,表4
where 表表。
and 表表。
and 表表。
6樓:匿名使用者
左外連線好像是這樣吧。
select , from 主表1 a
left join 表2 b on =left join 表3 c on =left join 表4 d on =
sql多表查詢統計怎麼弄?
7樓:環球網校
既然兩個表的結構一模一樣,如果想統計人名出現的總數,可以將汪晌孝兩個表先用union all合併到一起,然後再對其進行統計。
例如,有下面兩個表:成績表a、成績表b,這兩個表的結構是完全一樣的,分別都有20條記錄,但兩個表有部分記錄是重複謹陸的:
如果將兩個表合併到一起,可以使用union all。注意,這裡必須加上all,否則,那些重複的記錄就會被排除掉了,從而導致出現的總數不準確。例如,下面的語句沒有加all,輸出的姓名記錄數只有25個,有另外15個重複的被排除掉了:
所以,一定要加上all。這樣得到兩個表的合集後,再用括號將其包起來,把它作為一個表來處理,再次統計即可。sql語句如下:
select 姓名,count(*)as 出現次數 from (select 姓名 from 成績表a union all select 姓名 from 成績表b) group by 姓名。
統計結果如下圖:
我是人民郵電出版社簽約作者,著有多本與b/s、c/s開發方面的專業書籍,歡迎關注並一起交流提高,謝謝困稿!
sql語句查詢並統計查詢結果數量
可以通過count函式來實現。sqlone select from tablename1 where id 5 此語句查詢出來多條記錄,之後看做一個新的表。sqltwo select conut from select from tablename1 where id 5 as tablename2...
資料庫查詢,SQL語句 查詢 統計
1全部可以在查詢分析器裡開啟相應資料庫 要輸使用者名稱,密碼 在查詢對話方塊輸入 select from 表名 你所說的某個表的表名 where 欄位 列名 12345 按f5就行了 tablename 你要查詢的資料表的名字 cellname 存放12345資料的列名1.如果是必須含有和12345...
SQL一對多表關聯查詢,sql多對多關係的兩表如何聯合查詢出所有的結果?
補充 這個,感覺樓主的語句不用寫成這樣詭異的,你可以試試下面的語句符不符合你的要求 select from table1 a,table 2 b where a.name b.name 這樣不就行了麼?可以給多一點資訊麼?具體你想返回什麼呢?是這樣麼?table1符合的記錄欄位 table1所對應的...