佛山网站设计资讯,怎样加入网络营销公司,惠州市网站开发,公司主页格式我有一个数据库#xff0c;其中有数百个记录已被复制。但是#xff0c;重复的信息在所有字段中都不相同。对于任何两行#xff0c;第一行将包含一些字段中的信息#xff0c;而重复行的字段为空;但对于其他字段#xff0c;重复(第二)行将包含信息#xff0c;而第一行的字段…我有一个数据库其中有数百个记录已被复制。但是重复的信息在所有字段中都不相同。对于任何两行第一行将包含一些字段中的信息而重复行的字段为空;但对于其他字段重复(第二)行将包含信息而第一行的字段为空。例如它看起来像这样使用SQL(VBA/ADO)命令填充来自重复记录的相应非空值的NULL字段ID Deleted Reference Name Case_Date Outcome Outcome_Date100 False A123 Chris 2000-01-01 Yes101 False A123 Chris 2000-03-31ID列是记录的唯一主键。 参考栏是我可以识别重复项的那一栏。 但是正如您所看到的第一个记录(100)包含Case_Date和Outcome中的信息但第二个记录(101)包含Outcome_Date。我想要做的是将大量信息复制到每对记录中的一个中然后将复制标记为已删除(我使用软删除而不是实际从表格中删除记录但只是将Duplicate列标记为True)。与上面的例子中我希望它看起来像这样ID Deleted Reference Name Case_Date Outcome Outcome_Date100 False A123 Chris 2000-01-01 Yes 2000-03-31101 True A123 Chris (2000-01-01)* (Yes)* 2000-03-31技术上讲它不会是必要的也是信息复制到记录的空白字段删除其将被标记但我想它是更容易复制一切然后将“第二”记录标记为重复记录而不是试图找出哪一个包含更多信息哪个包含更少信息。我也知道为每列运行单独的SQL命令要比尝试一次全部执行它们更容易。上面显示的列是一个简化示例每列中可能存在或不存在的信息不同。我的设置重复的记录SELECT查询语句是SELECT *FROM [Cohorts]WHERE [Deleted] FalseAND ([CaseType] Female OR [CaseType] Family)AND [Reference] Is Not NullAnd [Reference] In (SELECT [Reference] FROM [Cohorts] As TmpWHERE [Deleted] FalseAND ([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还没有添加为答案因为它不是一个完整的答案 - 使用您的示例表减去IDDeleted字段这将返回一个包含其他5个字段的所有信息的单个记录SELECT DISTINCT * FROM(SELECT DISTINCT NZ(T1.ReferenceT2.Reference)AS F1NZ(T1.sNameT2.sName)AS F2NZ(T1.Case_DateT2.Case_Date)AS F3NZ(T1.OutcomeT2.Outcome) AS F4NZ(T1.Outcome_DateT2.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 –