久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

根據下一條記錄刪除SQL中的記錄

Deleting record in SQL depending on next record(根據下一條記錄刪除SQL中的記錄)
本文介紹了根據下一條記錄刪除SQL中的記錄的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有以下列的記錄:IDTime_EndAttribute.

I have records with columns: ID, Time_End and Attribute.

我需要刪除所有記錄,

WHERE Time_End = '1990-01-01 00:00:00.000' AND Attribute <> '9'

但僅限:

  • 如果下一行沒有相同的屬性編號

  • 下一行具有相同的屬性編號和 Time_End1990-01-01 00:00:00.000

例如:

ID     Time_End                     Attribute
---------------------------------------------
235    1990-01-01 00:00:00.000      5                  /delete
236    1990-01-01 00:00:00.000      5                  /delete
237    1990-01-01 00:00:00.000      5
238    2016-10-10 23:45:40.000      5


ID     Time_End                     Attribute
---------------------------------------------
312    1990-01-01 00:00:00.000      8                  /delete
313    2016-01-09 18:00:00.000      6                  
314    1990-01-01 00:00:00.000      4                  /delete
315    1990-01-01 00:00:00.000      7
316    2016-10-10 23:45:40.000      7

我們的客戶有 50 個數據庫表,每個表中有數千條記錄(當然還有更多的列,我只提到了那些對解決方案有影響的列).記錄從PLC發送到數據庫,但有時(我們不知道為什么)PLC也會發送錯誤的記錄.

Our customer have 50 database tables with thousands of records in every table (and of course more columns, I mentioned only those, which have impact on solution). Records are send in to the database from PLC, but sometimes (we don't know why) PLC send also wrong records.

所以我需要一個查詢來查找那些錯誤的記錄并刪除它們.:)

So what I need is a query which finds those wrong records and deletes them. :)

有人知道 SQL 代碼應該是什么樣的嗎?

Anybody who knows how the SQL code should look like?

推薦答案

請看下面我的 SQL.首先,我們使用兩個窗口函數 (LEAD) 收集要刪除的 id,以獲取下一行所需的數據.然后,計算所有需要的數據后,應用 OP 提出的評估規則.最后,使用獲取到的 id 通過帶有 in 子句的 id 刪除 tablet 受影響的記錄.

Please see my SQL below. First, we collect ids to delete using two window functions (LEAD) to get the next row needed data. Then, with all needed data computed, apply the evaluation rules proposed by the OP. Last, use the obtained ids to delete the affected records of the tablet by id with an in clause.

 DELETE toDeleteTable 
 WHERE toDeleteTable.id IN (WITH dataSet
                              AS (SELECT toDeleteTable.id,
                                         toDeleteTable.time_end, 
                                         toDeleteTable.attribute, 
                                         LEAD(toDeleteTable.time_end,1,0)  OVER (ORDER BY toDeleteTable.id) AS next_time_end,
                                         LEAD(toDeleteTable.attribute,1,0) OVER (ORDER BY toDeleteTable.id) AS next_attribute
                                    FROM toDeleteTable)
                            SELECT dataSet.id
                              FROM dataSet
                             WHERE dataSet.time_end = '1990-01-01 00:00:00.000' 
                               AND dataSet.attribute <> '9' 
                               AND (  (dataSet.next_attribute = dataSet.attribute AND dataSet.next_time_end  = '1990-01-01 00:00:00.000')   
                                    OR dataSet.next_attribute <> dataSet.attribute)
                           )

這篇關于根據下一條記錄刪除SQL中的記錄的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Modify Existing decimal places info(修改現有小數位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號或管道運算符字符串中刪除重復項)
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 5060网一级毛片 | 午夜久草 | 久久久精品影院 | 亚洲福利视频网 | 一区二区三区视频在线观看 | 国产视频91在线 | 亚洲经典一区 | 蜜桃精品视频在线 | 国产成视频在线观看 | 日韩一区二区三区视频 | 欧美一区二区三区久久精品 | 国产 欧美 日韩 一区 | 97起碰| 日本一区二区三区四区 | 中文字幕在线一区二区三区 | 欧美日韩在线一区二区 | 久久国产精品亚洲 | 日韩免费高清视频 | 欧美黄色大片在线观看 | 日本a在线| 国产精品日韩欧美一区二区三区 | 欧美激情精品久久久久 | 激情五月综合 | 日韩视频免费看 | 国产a区| 欧美日韩在线精品 | 一区二区视频在线观看 | 精品亚洲一区二区三区 | 日韩国产精品一区二区三区 | 日本免费一区二区三区视频 | 麻豆国产精品777777在线 | 欧美综合一区二区 | 日韩欧美三级电影 | 国产欧美日韩一区二区三区在线 | 日韩一区二区在线播放 | 欧美韩一区二区 | 91国内精品久久 | 国产欧美日韩久久久 | 国产高清免费在线 | 亚洲精品中文字幕在线观看 | 伊人网综合在线观看 |