如何解决问题这个问题 [英] HOW SLOVED PROBLEM THIS QUERY
本文介绍了如何解决问题这个问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用此程序,但看到此错误
Iam use this Procedure but see this error
Msg 116, Level 16, State 1, Procedure P_Course_Get_Statistics_Summary, Line 45
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
alter Procedure [dbo].[P_Course_Get_Statistics_Summary]
AS
Begin
select
(select Count(*) from TCourse) as Totalcours,
(select Count(*) from TCourseExe ) as TotalcoursExe,
(select count(*) from
(
SELECT [FCourseID] FROM [dbo].[TCourse]
EXCEPT
SELECT [FCourseID] FROM [dbo].VDB_CoursExe
) temp
) as coursecount ,
(select Count(*) from TCourse where Fsyllabinary is not null) as Issyllabinary,
--• در کل دورها تعریف شده نام و شناسه دوره با ماکزیمم ساعت :
(select * from
(select FCourseID , FCourseName ,FCourseDuration
from TCourse
where FCourseDuration in
(select MAX(FCourseDuration) as dd from TCourse )
) T
) AS DD
)
end
推荐答案
你不能从一个子查询中获取多个列必须像这样更改你的查询
you cannot get multiple columns from a single subquery have to change your query like this
----------- not a valid statement in sub query
(select * from
(select FCourseID , FCourseName ,FCourseDuration
from TCourse
where FCourseDuration in
(select MAX(FCourseDuration) as dd from TCourse )
) T
) AS DD
)
----------- This is the valid formation
(select FCourseID
from TCourse
where FCourseDuration in
(select MAX(FCourseDuration) as dd from TCourse )
) T AS FCourseID
(select FCourseName
from TCourse
where FCourseDuration in
(select MAX(FCourseDuration) as dd from TCourse )
) T AS FCourseName,
(select FCourseDuration
from TCourse
where FCourseDuration in
(select MAX(FCourseDuration) as dd from TCourse )
) T AS FCourseDuration
希望有帮助
hope it helps
这篇关于如何解决问题这个问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文