计算嵌套选择语句中的表行数
Posted
技术标签:
【中文标题】计算嵌套选择语句中的表行数【英文标题】:Count Table Rows in a nested select statement 【发布时间】:2016-12-01 14:12:53 【问题描述】:我想创建一个显示数据库统计信息的视图,如下所示:
NumberOfProduct | NumberOfUsers | NumberOfOnlineUsers
45453 54665 5654645
数据来源:
NumberOfProduct - 是产品表的总行数
NumberOfUsers - users 表中的行数
NumberOfOnlineUsers - 列中名为“number”的行值位于名为 SiteOverView 的表中,其中 stat_name = 'NumberOfOnlineUsers'
SiteOverView 表:
stat_name | number
NumberOfOnlineUsers 5654645
NumberOfOfflineUsers 54665
NumberOfVisitors 45453
我想要类似的东西
Create View [dbo].[dashboard_stat]
AS
SELECT
(select count(*) from products) as NumberOfProduct,
(select count(*) from users) as NumberOfUsers,
(select number from SiteOverView WHERE stat_name='NumberOfOnlineUsers') as NumberOfOnlineUsers
FROM (NumberOfOnlineUsers) dashboard_stat
但我正在努力用写语法编写语句。
【问题讨论】:
您是否尝试过在主选择中删除 FROM 子句?你得到什么错误? 【参考方案1】:如果您为要返回的每一列单独指定单个值,则 SQL Sever 中的select
语句不需要from
子句。因此,如果没有 from
,您的查询应该可以正常工作:
create view [dbo].[dashboard_stat]
as
select (select count(1) from products) as NumberOfProduct
,(select count(1) from users) as NumberOfUsers
,(select number
from SiteOverView
where stat_name = 'NumberOfOnlineUsers'
) as NumberOfOnlineUsers
go
【讨论】:
以上是关于计算嵌套选择语句中的表行数的主要内容,如果未能解决你的问题,请参考以下文章