2016-12-01 105 views
0

我想创建一个视图,显示数据库这样的统计:伯爵表行

NumberOfProduct | NumberOfUsers | NumberOfOnlineUsers

45453 54665 5654645

数据源

NumberOfProduct - 是产品表总计行数

NumberOfUsers - 行数在用户表

NumberOfOnlineUsers - 正所谓位于表内的 “数量” 列一列的值称为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 

但我很努力地写入语句写入句法。

+0

您是否尝试删除主要选择的FROM子句?你会得到什么错误? – Snowlockk

回答

1

select SQL Sever中的语句不需要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 
+0

哦,上帝......为什么我不试试?大声笑...谢谢戴夫! –