【问题标题】:Combine INSERT INTO statements合并 INSERT INTO 语句
【发布时间】:2015-02-21 20:57:14
【问题描述】:

我试图通过 VBA 使用 SQL 根据其他表中的数据在表中收集一些总数。我在下面粘贴了两个SQL 语句。这些工作,但他们将总计插入两个不同的记录。我想知道是否有办法将它们插入到同一条记录中?任何帮助将不胜感激!

TotalVerified = "INSERT INTO Totals([TOTAL VERIFIED FORMULARIES]) " & _
    "SELECT COUNT([FORMULARY ID])" & _
    "FROM VerifiedFormularies"
TotalAvailableImport = "INSERT INTO Totals([TOTAL AVAILABLE FOR IMPORT]) " & _
"SELECT COUNT([FORMULARY ID]) " & _
"FROM ImportMetricsIDs"

编辑:

   totalVerified = "INSERT INTO Totals([TOTAL VERIFIED FORMULARIES], [TOTAL AVAILABLE FOR IMPORT], [TOTAL SHOULD BE IMPORTED]) " & _
"SELECT A.cnt, B.cnt, C.cnt " & _
"FROM (SELECT COUNT([FORMULARY ID]) as cnt " & _
    "FROM VerifiedFormularies " & _
") AS A " & _
", ( " & _
    "SELECT COUNT([FORMULARY ID]) as cnt " & _
    "FROM ImportMetricsIDs " & _
") as B " & _
", (SELECT COUNT([FORMULARY ID]) as cnt " & _
"WHERE [IMPORT STATUS]= ""Yes"" " & _
"FROM ShouldImportMetricsIDsTable " & _
") AS C "

【问题讨论】:

    标签: sql ms-access insert vba


    【解决方案1】:

    这在 ms-access 中可能有效,也可能无效:

    INSERT INTO Totals([TOTAL VERIFIED FORMULARIES], [TOTAL AVAILABLE FOR IMPORT], [TOTAL SHOULD BE IMPORTED])
    SELECT A.cnt, B.cnt, C.cnt
    FROM ( 
        SELECT COUNT([FORMULARY ID]) as cnt
        FROM VerifiedFormularies
    ) AS A
    , (
        SELECT COUNT([FORMULARY ID]) as cnt
        FROM ImportMetricsIDs
    ) as B
    , (
        SELECT COUNT([FORMULARY ID]) as cnt
        FROM ShouldImportMetricsIDsTable 
        WHERE [IMPORT STATUS]= 'Yes'
    ) AS C
    

    【讨论】:

    • 我试图添加第三条语句,但由于某种原因,它说我在 WHERE 语句周围缺少一个运算符,我不知道为什么
    • 您的查询是什么样的?由于没有 where 子句,我不明白错误消息。
    • 重命名应该在聚合函数之后,即:(SELECT COUNT([FORMULARY ID]) as cnt WHERE [IMPORT STATUS]= 'Yes'
    • 好的,我解决了这个问题,现在它在SELECT 语句中给了我一个保留字错误...
    • 另外,from 子句在 where 子句之前。我更新了答案以反映新情况
    【解决方案2】:

    您尝试过这种方法吗?

    insert into table
    (field1, field2)
    (subquery1), (subquery2)
    

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      相关资源
      最近更新 更多