日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql vba日期空值_使用SQL(VBA/ADO)命令填充来自重复记录的相应非空值的NULL字段...

發布時間:2023/12/10 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql vba日期空值_使用SQL(VBA/ADO)命令填充来自重复记录的相应非空值的NULL字段... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一個數據庫,其中有數百個記錄已被復制。但是,重復的信息在所有字段中都不相同。對于任何兩行,第一行將包含一些字段中的信息,而重復行的字段為空;但對于其他字段,重復(第二)行將包含信息,而第一行的字段為空。例如,它看起來像這樣:使用SQL(VBA/ADO)命令填充來自重復記錄的相應非空值的NULL字段

ID Deleted Reference Name Case_Date Outcome Outcome_Date

100 False A123 Chris 2000-01-01 Yes

101 False A123 Chris 2000-03-31

ID列是記錄的唯一主鍵。 參考欄是我可以識別重復項的那一欄。 但是,正如您所看到的,第一個記錄(100)包含Case_Date和Outcome中的信息,但第二個記錄(101)包含Outcome_Date。

我想要做的是將大量信息復制到每對記錄中的一個中,然后將復制標記為已刪除(我使用軟刪除,而不是實際從表格中刪除記錄,但只是將Duplicate列標記為True)。與上面的例子中,我希望它看起來像這樣:

ID Deleted Reference Name Case_Date Outcome Outcome_Date

100 False A123 Chris 2000-01-01 Yes 2000-03-31

101 True A123 Chris (2000-01-01)* (Yes)* 2000-03-31

技術上講,它不會是必要的也是信息復制到記錄的空白字段刪除其將被標記,但我想它是更容易復制一切,然后將“第二”記錄標記為重復記錄,而不是試圖找出哪一個包含更多信息,哪個包含更少信息。

我也知道,為每列運行單獨的SQL命令要比嘗試一次全部執行它們更容易。上面顯示的列是一個簡化示例,每列中可能存在或不存在的信息不同。

我的設置重復的記錄SELECT查詢語句是:

SELECT *

FROM [Cohorts]

WHERE [Deleted] = False

AND ([CaseType] = "Female" OR [CaseType] = "Family")

AND [Reference] Is Not Null

And [Reference] In (SELECT [Reference] FROM [Cohorts] As Tmp

WHERE [Deleted] = False

AND ([CaseType] = "Female" OR [CaseType]="Family")

GROUP BY [Reference]

HAVING Count(*) > 1)

ORDER BY [Reference];

這將在表[客群組]其中存在有相同的參考多條記錄返回所有(女/家庭)記錄(以及記錄未被標記為刪除的地方)。

我通過ADO從VBA運行我的查詢,因此可以執行UPDATE語句。我的數據庫是使用JET引擎的Access兼容的.mdb。

感謝任何人都可以建議一個合適的SQL命令,我可以運行每列為了填充NULL字段與相關重復記錄的非NULL字段的值。目前這超出了我對SQL的理解!謝謝。

+0

還沒有添加為答案,因為它不是一個完整的答案 - 使用您的示例表減去ID&Deleted字段,這將返回一個包含其他5個字段的所有信息的單個記錄:'SELECT DISTINCT * FROM(SELECT DISTINCT NZ(T1.Reference,T2.Reference)AS F1,NZ(T1.sName,T2.sName)AS F2,NZ(T1.Case_Date,T2.Case_Date)AS F3,NZ(T1.Outcome,T2.Outcome) AS F4,NZ(T1.Outcome_Date,T2.Outcome_Date)AS F5 FROM群組T1 T1 INNER JOIN群組T2 T2 ON T1.Reference = T2.Reference)WHERE NOT F1 is NULL and NOT F2 is NULL NOT NOT F3 is NULL and NOT F4 IS NULL而不是F5是NULL' –

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql vba日期空值_使用SQL(VBA/ADO)命令填充来自重复记录的相应非空值的NULL字段...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。