繁体   English   中英

结合两个SQL SELECT COUNT(*)语句

[英]combining two SQL SELECT COUNT(*) statements

我正在使用Microsoft Access 2007.我有两个SELECT COUNT(*)语句在没有组合的情况下运行正常,但是我希望将这些语句组合起来用作通过VBA的表单记录源。

1. SELECT Count(*) AS OrderCount FROM (SELECT DISTINCT OrderNo FROM tblDisposition);"

2. SELECT Count(*) AS ReviewCount FROM tblDisposition WHERE [ReviewClose]=0;

我知道已经存在很多这样的问题,例如:

两个SQL COUNT()查询?

Access 2007:“SELECT COUNT(DISCTINCT ...”

如何将2个select语句组合成一个?

还有很多。 这是我尝试但仍然失败的原因:

SELECT (SELECT Count(*) AS OrderCount FROM (SELECT DISTINCT OrderNo FROM tblDisposition)),"
        (SELECT Count(*) AS ReviewCount FROM tblDisposition WHERE [ReviewClose]=0);"

我将myForm上的组合SQL语句设置为recordsource,我有两个文本字段,我将controlsource设置为OrderCount和ReviewCount。 在我设置recorsource的表单加载事件中,两个文本字段都给出了#NAME错误,但是如果我只设置了一个SQL语句,它将在文本字段上显示正确的计数。

您可以使用以下SQL语句将两个计数作为两个值放在一行中:

SELECT 
    (
        SELECT Count(*) AS OrderCount 
        FROM 
            (
                SELECT DISTINCT OrderNo FROM tblDisposition
            )
    ) AS OrderCount,
    (
        SELECT Count(*) AS ReviewCount 
        FROM tblDisposition 
        WHERE [ReviewClose]=0
    ) AS ReviewCount
FROM
    (
        SELECT COUNT(*) FROM tblDisposition
    )

请注意,最终的FROM子句实际上只是让查询返回单行的一种方法。 这也可以通过这里描述的Dual来完成

我想你的查询根本不起作用。 尝试像这样添加'* FROM':

SELECT * FROM 
(SELECT Count(*) AS OrderCount FROM (SELECT DISTINCT OrderNo FROM tblDisposition)),
(SELECT Count(*) AS ReviewCount FROM tblDisposition WHERE [ReviewClose]=0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM