求表aaa中剩餘的庫存量。
sql語句(1)
select mc,sum(s1)as 剩餘數量 from把兩個表聯合起來組成乙個結果,把出庫的數量轉化為負的,然後再求和。(
select[mc
],([
s1]) as
s1
from
aaa
union
allselect[mc
],(-[s1
]) as
s1
from
bbb) list
group
by mc
注意,此處必須用union all ,不能用union,union和union all 的區別是union會把聯合起來的重覆記錄刪除掉,所以不能用union,兩個表的結構必須相同。
擴充:except 也是連線兩個sql語句,就是獲取aaa表中的在bbb表中沒有的記錄行,兩個表的結構必須相同,except all是不消除重複的,但是在有的sql版本中不能用。
intersect恰好同except 相反,他是獲取兩個sql中aaa表中有,bbb表中也有的記錄行,兩個表的結構必須相同,intersect all是不消除重複的,但是在有的sql版本中不能用。
sql語句(2)
select mc ,s1-(selectsum(s1) from bbb where mc=aaa.mc group
by mc) from aaa
知乎看到的一道題
手裡有一副從1到n的牌,每次從牌堆頂取一張放桌子上,再取一張放牌堆底,直到手裡沒牌。這時候,桌子上的牌是從1到n有序的。設計程式,輸入n,輸出牌堆的順序陣列。12 345 1 2345 1 345 2 1 3 4 52 13 524 135 24 13 5 4 2 1 354 2 1354 2 13...
一道SQL查詢的題目
一是查詢a id,name 表中第31至40條記錄,id作為主鍵可能是不是連續增長的列,完整的查詢語句如下 select top 10 from a where id select max id from select top 30 id from a order by a t order by a...
從別處看到的一道演算法附加題
題目 已知乙個陣列a n 構造乙個陣列b n 構造規則 b i a 0 a 1 a 2 a n a i 要求 1 不可以使用除法 2 時間複雜度為o n 空間複雜度為s 0 3 除遍歷使用的變數外,不可以使用其它變數 自己的解法雖然不合題意,終究是自己想的,但是極力只用1個.可以使用遍歷變數我就無恥...