小编syl*_*yre的帖子

JOIN两个SELECT语句结果

是否可以在一个语句中加入2个sql SELECT语句的结果?我有任务的数据库,其中每个记录是一个单独的任务,最后期限(和P替换,这仅仅是一个从开始到最后期限的天INT,年龄也是天的INT数.)

我想有哪个人都有每个人的桌子上,他们有任务的数量,以及他们有LATE任务数表(如果有的话).

我可以轻松地在单独的表中获取这些数据,如下所示:

SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
Run Code Online (Sandbox Code Playgroud)

返回数据如:

ks        # Tasks
person1   7
person2   3
Run Code Online (Sandbox Code Playgroud)

然后我有

SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
Run Code Online (Sandbox Code Playgroud)

返回:

ks        # Late
person1   1
person2   1
Run Code Online (Sandbox Code Playgroud)

我想加入这两个选择语句的结果(由KS提供)

我试图避免使用临时表,但如果这是唯一可行的方法,我想了解更多关于以这种方式使用临时表的信息.

我也尝试做某种count()#行满足条件,但我也想不出怎么做.如果可能的话,那也会奏效.

附录:对不起,我希望我的结果包含KS,Tasks和Late的列

KS        # Tasks   # Late
person1   7         1
person2   3         1
person3   2         0  (or null)
Run Code Online (Sandbox Code Playgroud)

另外,即使他们没有迟到的任务,我也希望一个人出现.

SUM(年龄> Palt THEN 1 ELSE 0 END)后期效果很好,感谢您的回答!

两个select语句也可以工作,使用LEFT JOIN加入它们也可以工作,我现在明白了如何以这种方式连接多个选择.谢谢!

sql select join group-by

156
推荐指数
5
解决办法
54万
查看次数

访问sys.dm_db_index_usage_stats的权限

所以我有一个内部使用的网站,它跟踪员工的一堆统计数据.其中之一是他们是否缺少任何报告.由于没有报告的项目列表每隔几天才会更新,并且这些报告有3天的宽限期,我将该项目记录为缺少报告的日期(releaseDt)与上次更新数据库(@lastupdate).这样,如果报告数据库尚未更新但报告已完成,则该网站不会因错过报告而让某人失意.

SQL代码可以正常使用管理员级别的权限,但出于显而易见的原因,我不会让ASP.NET帐户具有服务器管理员级别.

我已经设置了一个ASP.NET C#代码用于登录的SQL帐户,其他所有权限都很好.(仅对其使用的特定数据库进行读访问.)我无法弄清楚要授予其访问权限,以便有权访问此特定的动态管理视图.

非常感谢使用Management Studio或使用GRANTSQL语句的建议.

这似乎包含有关视图的相关信息:

sys.dm_db_index_usage_stats(Transact-SQL)

DECLARE @lastupdate datetime
     SELECT @lastupdate = last_user_update from sys.dm_db_index_usage_stats
     WHERE OBJECT_ID = OBJECT_ID('MissingReport')

SELECT 
    COALESCE(Creator, 'Total') AS 'Creator',
    COUNT(*) AS Number, 
    '$' + CONVERT(varchar(32), SUM(Cost), 1) AS 'Cost' 
    FROM MissingReport 
    WHERE NOT( 
        [bunch of conditions that make something exempt from needing a report]
        OR
        (
            DATEDIFF(day,ReleaseDt,@lastupdate) <= 3
        )
    )
    GROUP BY Creator WITH ROLLUP
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

6
推荐指数
1
解决办法
9463
查看次数

标签 统计

sql ×2

group-by ×1

join ×1

select ×1

sql-server-2008 ×1