1樓:匿名使用者
select ccc.*, 損壞,損壞的金額,b_start_no2,b_end_no2 from
(select aaa.*,借出 from
(select b_start_no,b_end_no,位置 ,count(*) 總數量 from (select * from aa join bb on book_no >= b_start_no and book_no <= b_end_no) as tbl1 ) as aaa
join
(select b_start_no,b_end_no,count(*) 借出 from (select aa.*,bb.* from aa join bb on book_no >= b_start_no and book_no <= b_end_no) as aa where 情況=0) as bbb
on aaa.b_start_no==bbb.b_start_no and aaa.b_end_no==bbb.b_end_no
) as ccc
join
(select b_start_no,b_end_no,count(*) 損壞,sum(price) 損壞的金額,min(book_no) b_start_no2,max(book_no) b_end_no2 from (select aa.*,bb.* from aa join bb on book_no >= b_start_no and book_no <= b_end_no) as aa where 情況=1) as ddd
on ccc.b_start_no==ddd.b_start_no and ccc.b_end_no==ddd.b_end_no
(損壞的書號那一列需要字串的求和組函式的額外的處理辦法)
2樓:救救大漢江山吧
declare @dd table(
b_start_no nvarchar(20),--
b_end_no nvarchar(20),--
position nvarchar(20),--
book_no nvarchar(20),--
price float,--
islend int
)insert into @dd
select
a.b_start_no,
a.b_end_no,
a.position,
b.book_no,
b.price,
b.islend
from
aa a
left join
bb b on a.b_start_no<=b.book_no and a.b_end_no>=b.book_no
select
d.b_start_no,
max(d.b_end_no),
max(d.position),
count(1) '總數量',
count(1)-sum(d.islend) '借出',
sum(d.islend) '損壞',
sum(d.islend*d.price) '損壞金額',
min(d.b_end_no)- d.b_start_no +1-count(1) '餘位',
stuff((select ', ' + d2.book_no
from @dd d2
where (d2.book_no = d.b_start_no and d2.islend=1)
for xml path(''),type).value('(./text())[1]','varchar(max)'),
1,2,''
) as '損壞的書號',
max(d.book_no ) 'b_start_no2',
max(d.b_end_no) 'b_start_no1'
from
@dd d
group by
d.b_start_no
3樓:小夥伴
b_start_no 與book_no 做個連結就能得到!
sql語句如何查詢兩個表的資料 將表1和表2的資料查詢為表3的樣子
4樓:匿名使用者
select 表1.科室,表2.血型 from 表1,表2 where 表1.p_no = 表2.p_no;
如上所示,這都是基本的sql查詢。
sql查詢兩個表中滿足某些條件的資料總數
5樓:匿名使用者
如果欄位一樣的話,可以用union all,即select * from 表1 where a,b,cunion all
select * from 表2 where a,b,c
6樓:匿名使用者
假設兩張表分別為tab1,tab2:
select sum(cnt) from (select count(1) cnt from tab1 where 滿足條件a,b,c
union all
select count(1) cnt from tab2 where 滿足條
件a,b,c)
7樓:匿名使用者
select
(select count(*) from t1 where ...)
+(select count(*) from t2 where ...)
8樓:移動引領生活
select count(欄位a) from table1 where a and b and c
union al
lselect count(欄位b) from table2 where a and b and c
sql怎麼同時查詢兩個表的資料?
9樓:匿名使用者
同時輸出ac01表中aab004和az03表中aab001和aab002的資料
select a.aab004, b.aab001, b.aab002 from ac01 a, az03 b;
(可以加where條件,例如:where a.aab001=b.aab001 )。
「兩個表中有相同的欄位aab001,然後我需要統計他們aab001不同值的數量該怎麼寫」
是不是要統計出 ac01表中aab001與az03表中aab001不同值的個數呀?
select a.aab004, b.aab001, b.aab002, count(*) as numb
from ac01 a, az03 b
where a.aab001!=b.aab001 ;
10樓:
你的題目寫的有點不清楚,有問題再補充,參考以下**select count(aab001) as 不同值的數量 from(
select aab001 from ac01union
select aab001 from az03 ) as temp
11樓:匿名使用者
select ac01.aab004,az03.aab001,az03.
aab002,sum(case when ac01,az03 where ac01.aab001!=az03.
aab001 then 1 else 0) from ac01,az03 where ac01.aab001=az03.aab001)
12樓:若水
select t1.aab004, t2.aab001,t2.aab002 from ac01 t1,az03 t2 where t1.aab001=t2.aab001
13樓:
這樣可以完成統計畢竟複雜,用到了效率不高的子查詢,絕對會有更好的辦法,拋磚引玉,自勉
select ac.aab004,az.aab001,az.aab002,
(((select count(aab001) from ac01)+
(select count(aab001) from az03)))-
(select count(ac.aab001) from ac01 as ac inner join az03 as az
on ac.aab001=az.aab001)*2 as 不同的數量
from ac01 as ac inner join az03 as az
on ac.aab001=az.aab001
sql查詢並將查詢的結果插入到新的一個表裡?
14樓:匿名使用者
沒看到你統計表結構,給你寫個查詢,你自己插入吧select 班級,
sum(case when 性別='男' then 1 else 0 end) 男,
sum(case when 性別='女' then 1 else 0 end) 女,
count(*) 總人數
from 學生基本資訊表
group by 班級
15樓:匿名使用者
select a.*,b.* into 新表表名 from(select 班級,性別,count(性別) 人數 from 學生基本資訊表 gorup by 班級,性別) a,
(select 班級,count(班級) 總人數 from 學生基本資訊表 group by 班級) b
where a.班級=b.班級
如果要用insert命令插入,就去掉 "into 新表表名"
(注:中文該換的得換)
sql,把兩個表中的兩列資料合到一個表中
16樓:
兩個表的資料量一樣的嗎?
合併後建立新表嗎?
需要藉助輔助列
select identity(int,1,1) as guid ,val into #1 from table1
select identity(int,1,1) as guid ,val into #2 from table2
select a.val as val1,b.val as val2 into table3
from #1 a inner join #2 b on a.guid = b.guid
sql實現如下查詢:查詢符合條件的某欄位並在每個後面顯示統計記錄數,具體如圖:
17樓:匿名使用者
...你這
bai絕對
du是沒zhi
規律dao的硬性
18樓:
select a.unit,b.sum from (select unit from user where level = 3 ) a ,(select count(*) as sum from user where level = 3 ) b
sql怎麼查詢兩個表中不同的資料 5
19樓:
工具/材料:management studio。
1、首先在桌面上,點選「management studio」圖示。
2、其次在該介面中,點選「新建查詢」按鈕。
3、繼續在該介面中,輸入查詢兩個表中不同的資料的sql語句。
4、再者在該介面中,點選「執行」按鈕。
5、最後在該介面中,顯示兩個表中不同的資料。
oracle資料庫查詢兩個表然後把結果合併成表
實現的方法和詳細的操作步驟如下 1 首先,在計算機桌面上雙擊 management studio 圖示,如下圖所示,然後進入下一步。2 其次,完成上述步驟後,單擊左上角的 新建查詢 按鈕,如下圖所示,然後進入下一步。3 接著,完成上述步驟後,在介面中輸入sql語句 select from test1...
從多個表中查詢資料的sql語句,sql一個表中同時查詢兩個count的sql語句
建立一個儲存過程用來讀取 create procedure testpercudureasdeclare col integerdeclare tablename varchar 100 declare sql as varchar 200 begin select top 0 qqnum into...
使用union查詢兩張表資料的時候如何把查詢的資料存放到臨時表中,且為臨時表建立主鍵,求sql語句
一條語句只能做到將表的資料放到臨時表,但是不能為臨時表建立主鍵的.比如 create table temp table as select from table 如果要建立主鍵的話,就只能寫到一個pl sql塊裡面比如 declare begin execute immediate create t...