-
SHJ 先生的演算法簡潔有效,但不排除空值和保留字值,讓我們再次改進一下。
如果只是為了找出答案,請使用以下語句。
select id,t1,t2,(select sum(iif(isnull(t1),0,t1))-sum(iif(isnull(t2),0,t2)) from table1 where <= as [value] from table1 as table0
如果要將簽出結果儲存到 table2,則:
select id,t1,t2,(select sum(iif(isnull(t1),0,t1))-sum(iif(isnull(t2),0,t2)) from table1 where <= as [value] into table2 from table1 as table0
以上測試在access2003中通過。
-
SQL Server 資料中的運算子和表示式。
-
我假設這個表叫做 t two,它的列名對應於 a b cdeclare
ratio number;
cost ;
cursor cur is select * from t for update;
id := null;
beginselect c into cost where rownum = (select count(*)from t)
from t;- 這句話去掉了最後一列中的**,把它放在成本中。
for v in cur loop
if = id
then ratio := (cost -
elsethen ratio :=0;
end if;
id = ;
end loop;
end;- 不知道第一行怎麼辦,我的**覺得第一行和上一行一樣。
-
我只知道用游標思考更容易。
首先將表中的所有記錄插入到臨時表中。
從 tablename 中選擇 * into t1,然後使用游標開啟原始表。
當行變時使用表中的資料,昨天比 id 少 1。
然後再次更新。
-
儲存過程是用游標求解的,不需要用儲存過程的方式寫很久才發現有問題。 羞。
-
只需告訴自己有關儲存過程的資訊即可。
-
給出乙個 db2。
select , sum(
from (select a, row_number() over(order by a) rk from tab) t1, (select a, row_number() over(order by a) rk from tab) t2
where <=
group by
order by
a sum ( t1 . a )
Oracle 是最好的選擇。
select , sum(
from (select a, rownum rk from tab) t1
select a, rownum rk from tab) t2
where <=
group by
order by
關鍵是要找到行號。
如果您的所有資料都是唯一的,並且是增量排列的,則還有另一種方法。
select , sum(
from tab t1, tab t2
where <=
group by
-
是要獲取顯示的資料,還是要從中建立乙個新錶。 似乎您可以使用多個表來關聯它,或者您可以使用檢視將處理後的資料儲存在檢視中。
-
查詢插入選擇進入(關鍵是你做什麼)。
-
如果沒有提交,則不會提交結果。
如果每一行都有提交,則只能按照插入的邏輯將其刪除。
-
可以使用 update 語句直接實現更新。
update test set me = 0 where me is null
當me欄位為空時,更新為0,我不知道me是什麼型別,所以寫成數字0
或者,使用案例何時更好地反映您的意圖。
update test set me = case when me is null then 0 else me end)
漸進式更新,當我為空時,更新為 0,否則保持不變。
你不需要寫那個,首先你更新我,首先,這個me可以用在這一行,也就是你減法SQL的後半部分,你可以用我。 另外,您的 test2 是否只有一行資料? 如果有多行,那麼你減去的第乙個減去的SQL將返回乙個不唯一的結果,那麼該語句一定是錯誤的。
是否有任何與 test2 和 test 相關的條件? 是直接減法嗎? 如果沒有 test2,哪一行減去 test1 哪一行?
更新測試集 me = select we from test2 where condition) -isnull(me,0)))。
這是可能的,注意isnull(me,0),這是sqlserver的語法,這意味著如果me欄位為空,則給出預設值0否則,空減法會有問題,結果就不對了。
總結。 親愛的您好,關於SQL語句Q&A,根據您提供的資訊,您在這裡發現的是:根據錯誤訊息,問題出在表別名或列引用的錯誤上。 >>>More
1:建立表 A 作為 select * from b where 1=2;
2. 從主鍵不在的表中選擇前 15 * (從表中選擇前 10 個主鍵); >>>More
事實上,這種擔心是沒有根據的。 sql
伺服器中有乙個“查詢分析優化器”,它計算 where 子句中的搜尋條件,確定哪個索引可以縮小表掃瞄的搜尋空間,即可以自動優化。 >>>More