SQL逐行計算問題:SQL逐行儲存錯誤在逐行儲存SQL的過程中出現,如何全部取消儲存

發布 科技 2024-06-19
11個回答
  1. 匿名使用者2024-01-29

    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中通過。

  2. 匿名使用者2024-01-28

    SQL Server 資料中的運算子和表示式。

  3. 匿名使用者2024-01-27

    我假設這個表叫做 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;- 不知道第一行怎麼辦,我的**覺得第一行和上一行一樣。

  4. 匿名使用者2024-01-26

    我只知道用游標思考更容易。

    首先將表中的所有記錄插入到臨時表中。

    從 tablename 中選擇 * into t1,然後使用游標開啟原始表。

    當行變時使用表中的資料,昨天比 id 少 1。

    然後再次更新。

  5. 匿名使用者2024-01-25

    儲存過程是用游標求解的,不需要用儲存過程的方式寫很久才發現有問題。 羞。

  6. 匿名使用者2024-01-24

    只需告訴自己有關儲存過程的資訊即可。

  7. 匿名使用者2024-01-23

    給出乙個 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

  8. 匿名使用者2024-01-22

    是要獲取顯示的資料,還是要從中建立乙個新錶。 似乎您可以使用多個表來關聯它,或者您可以使用檢視將處理後的資料儲存在檢視中。

  9. 匿名使用者2024-01-21

    查詢插入選擇進入(關鍵是你做什麼)。

  10. 匿名使用者2024-01-20

    如果沒有提交,則不會提交結果。

    如果每一行都有提交,則只能按照插入的邏輯將其刪除。

  11. 匿名使用者2024-01-19

    可以使用 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否則,空減法會有問題,結果就不對了。

相關回答
3個回答2024-06-19

總結。 親愛的您好,關於SQL語句Q&A,根據您提供的資訊,您在這裡發現的是:根據錯誤訊息,問題出在表別名或列引用的錯誤上。 >>>More

16個回答2024-06-19

型別符號,必須是引號。

除非替換為變數。 >>>More

6個回答2024-06-19

1:建立表 A 作為 select * from b where 1=2;

2. 從主鍵不在的表中選擇前 15 * (從表中選擇前 10 個主鍵); >>>More

11個回答2024-06-19

事實上,這種擔心是沒有根據的。 sql

伺服器中有乙個“查詢分析優化器”,它計算 where 子句中的搜尋條件,確定哪個索引可以縮小表掃瞄的搜尋空間,即可以自動優化。 >>>More

16個回答2024-06-19

注射似乎沒那麼容易,如果他們的**安全性更好,但小日本人會徹底殺了他哈哈。