Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用SQL server的表名及其行数_Sql Server - Fatal编程技术网

Sql server 使用SQL server的表名及其行数

Sql server 使用SQL server的表名及其行数,sql-server,Sql Server,为了得到下表结果,我使用了以下查询 select DISTINCT DO.Name as TableName, '' as 'TotalRecords', RDM.DataObjectId as Id, COALESCE(DO.GroupId, 0) as GroupId, dog.Name as GroupName from [User] as U inner join UserGroupMap UGM on UGM.UserI

为了得到下表结果,我使用了以下查询

select DISTINCT  
    DO.Name as TableName, 
    '' as 'TotalRecords',
    RDM.DataObjectId as Id,
    COALESCE(DO.GroupId, 0) as GroupId,
    dog.Name as GroupName
from 
    [User] as U
inner join 
    UserGroupMap UGM on UGM.UserId = U.Id
inner join 
    UserGroupRole UGR on UGR.UserGroupId = UGM.UserGroupId
inner join 
    RoleDoMap RDM on RDM.RoleId = UGR.RoleId 
                  and RDM.Id in (select RoleDOMapId 
                                 from RoleDOPermission DP)
inner join 
    Client C on C.Id = RDM.ClientId
inner join 
    [EDGE].[DataObject] DO on DO.Id = RDM.DataObjectId
left join
    [EDGE].DataObjectGroup dog on dog.Id = DO.GroupId
where 
    UGM.UserId = '46' 
    and C.SchemaName = 'EDGE'

我需要得到每个表的总行数。我无法从上面的查询中获取计数

欢迎提出任何建议


感谢和问候

使用
分组方式

SELECT *, COUNT(1) OVER ()
FROM ...
select DISTINCT  DO.Name as TableName, COUNT(DO.Name) as 'TotalRecords',RDM.DataObjectId as Id,COALESCE(DO.GroupId, 0) as GroupId,dog.Name as GroupName

    from [User] as U
    inner join UserGroupMap UGM on UGM.UserId = U.Id
    inner join UserGroupRole UGR on UGR.UserGroupId = UGM.UserGroupId
    inner join RoleDoMap RDM on RDM.RoleId = UGR.RoleId 
    inner join RoleDOPermission dp on dp.RoleDOMapId = RDM.Id
    inner join Client C on C.Id = RDM.ClientId
    inner join [EDGE].[DataObject] DO on DO.Id = RDM.DataObjectId
    LEFT JOIN [EDGE].DataObjectGroup dog on dog.Id = DO.GroupId
    group by DO.Name,RDM.DataObjectId,DO.GroupId,dog.Name
    where UGM.UserId='46' and C.SchemaName = 'EDGE'
选择QUOTENAME(Schema_name(t.Schema_id))+
QUOTENAME(对象名称(st.object id))作为表名
,总和(st.row\u计数)为总行数
从sys.dm_db_partition_stats st
st.object\u id=t.object\u id上的内部联接sys.tables t
其中st.index_id<2
t.is_ms_装运=0
按QUOTENAME(Schema_name(t.Schema_id))分组+
QUOTENAME(对象名称(圣对象id))
SELECT  QUOTENAME(Schema_name(t.Schema_id)) + 
        QUOTENAME(object_name(st.object_id)) AS TableName
       ,SUM(st.row_count)                    AS Total_Rows

FROM       sys.dm_db_partition_stats st
INNER JOIN sys.tables t ON st.object_id = t.object_id
WHERE st.index_id < 2
AND t.is_ms_shipped = 0
GROUP BY QUOTENAME(Schema_name(t.Schema_id)) + 
        QUOTENAME(object_name(st.object_id))