当前位置:  开发笔记 > 数据库 > 正文

从SQL中的多个数据库中选择COUNT()

如何解决《从SQL中的多个数据库中选择COUNT()》经验,为你挑选了1个好方法。

我正在尝试返回已租用特定电影的特定州的客户数量,其中租户表包含两列,一列用于客户ID,另一列用于电影ID.该函数接受电影ID和状态,并返回一个包含客户数量的整数.

现在我有一个实现,但它会计算整个查询返回的行数:

SELECT COUNT(*) as numCustomers FROM CUSTOMER C, RENTS R WHERE C.ST = '" + state + "' AND R.mid = " + movieID

然后我算出行数.我想能够检查numCustomers的正确数据.谢谢!



1> Robin Day..:

首先,您缺少一个链接您的RENTS表和CustomerId上的CUSTOMER表的子句?

其次,您应该使用FROM子句中的INNER JOIN功能来添加两个表.

第三,你不应该将你的sql构建为这样的字符串,因为你将对SQL注入开放.

猜测,您可能会遇到的SQL类型如下.

DECLARE @movieId int
DECLARE @state varchar(2)

SET @movieId = 12345
SET @state = 'NY'

SELECT
    COUNT(DISTINCT C.CustomerID) as numCustomers
FROM
    CUSTOMER C
INNER JOIN
    RENTS R
ON
    C.CustomerID = R.CustomerId
WHERE
    C.ST = @state
AND
    R.mid = @movieId

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有