【问题标题】:SQL query to count rows in a table用于计算表中行数的 SQL 查询
【发布时间】:2013-09-28 05:03:38
【问题描述】:

我在 ms access 2003 中有一个表 (MYTABLE),其中包含以下列:表名、列名和计数 我想通读该表并为每个表和列动态创建 SQL 语句,运行 SQL 以获取计数并更新表中的“计数”列。

例如

我的桌子有

Tablename columnname count
PATIENT.  AGE.          0

从年龄不为空的患者中生成 SQL select Count(*)

使用计数值更新我表中的“计数”列

【问题讨论】:

    标签: ms-access ms-access-2003


    【解决方案1】:

    您可以在UPDATE 查询中使用DCount Function。

    UPDATE MYTABLE
    SET [count] =
        DCount('*', [Tablename], '[' & columnname & '] Is Not Null');
    

    UPDATE 语句检查MYTABLE 中的每一行,为DCount() 提供存储在Tablename 和columnname 字段中的值,并将从DCount 返回的数字存储在名为count 的字段中在同一行。

    【讨论】:

    • 我遇到了一个错误。如何遍历 MYTABLE 并将表和列的值传递给 DCount?
    • 我修改了答案以解释UPDATE 语句如何遍历MYTABLE 中包含的行。您收到的错误信息是什么?
    【解决方案2】:
    Update tablename
    set count=(select Count(*) from PATIENT WHERE AGE IS NOT NULL)
    where table_name=PATIENT 
    

    【讨论】:

    • 我假设你的意思是更新我的表?
    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    相关资源
    最近更新 更多