求助:关于一个视图的问题?

gesnpt 2003-11-28 01:23:36
CREATE VIEW dbo.View_Qyxsl
AS
SELECT TOP 100 PERCENT
FdSsqy,'H' as FdGdd,
(SELECT SUM(FdGmsl) FROM View_Qyxsl1 WHERE View_Qyxsl1.FdSsqy = View_Qy.FdSsqy and View_Qyxsl1.FdMs='EWOY' and View_Qyxsl1.FdGdd='H') AS EwoySl,
(SELECT SUM(FdYsje) FROM View_Qyxsl1 WHERE View_Qyxsl1.FdSsqy = View_Qy.FdSsqy and View_Qyxsl1.FdMs='EWOY' and View_Qyxsl1.FdGdd='H')
AS EwoyYs,
(SELECT SUM(FdSsje) FROM View_Qyxsl1 WHERE View_Qyxsl1.FdSsqy = View_Qy.FdSsqy and View_Qyxsl1.FdMs='EWOY' and View_Qyxsl1.FdGdd='H')
AS EwoySs,
FROM View_Qy
order by FdSsqy
上面的三个子句的where条件是一样的,请问用什么方法可以把上面的三个子句写成一个子句呢???
...全文
45 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gesnpt 2003-11-28
  • 打赏
  • 举报
回复
象你们这样写的话,和我那样写产生的临时表哪一个更多呢????
tangxc2003 2003-11-28
  • 打赏
  • 举报
回复
CREATE VIEW dbo.View_Qyxsl
AS
SELECT TOP 100 PERCENT
a.FdSsqy,'H' FdGdd,
b.EwoySl,
b.EwoyYs,
b.EwoySs
FROM View_Qy a left join
(SELECT FdSsqy,SUM(FdGmsl) EwoySl,SUM(FdYsje) EwoyYs,SUM(FdSsje) EwoySs FROM View_Qyxsl1 WHERE FdMs='EWOY' and FdGdd='H' group by FdSsqy) b
on b.FdSsqy = a.FdSsqy
order by a.FdSsqy
zjcxc 元老 2003-11-28
  • 打赏
  • 举报
回复
CREATE VIEW dbo.View_Qyxsl
AS
SELECT TOP 100 PERCENT
a.FdSsqy,FdGdd='H',b.EwoySl,b.EwoyYs,b.EwoySs
FROM View_Qy a join (
SELECT FdSsqy,EwoySl=SUM(FdGmsl),EwoyYs=SUM(FdYsje),EwoySs=SUM(FdSsje)
FROM View_Qyxsl1 where FdMs='EWOY' and FdGdd='H' group by FdSsqy
) b on a.FdSsqy=b.FdSsqy
order by FdSsqy
pengdali 2003-11-28
  • 打赏
  • 举报
回复
CREATE VIEW dbo.View_Qyxsl
AS
SELECT TOP 100 PERCENT
a.FdSsqy,'H' FdGdd,
b.EwoySl,
b.EwoyYs,
b.EwoySs
FROM View_Qy a left join
(SELECT FdSsqy,SUM(FdGmsl) EwoySl,SUM(FdYsje) EwoyYs,SUM(FdSsje) EwoySs FROM View_Qyxsl1 WHERE FdMs='EWOY' and FdGdd='H' group by FdSsqy) b
on b.FdSsqy = a.FdSsqy
order by a.FdSsqy
pengdali 2003-11-28
  • 打赏
  • 举报
回复
SELECT TOP 100 PERCENT
a.FdSsqy,'H' FdGdd,
b.EwoySl,
b.EwoyYs,
b.EwoySs
FROM View_Qy a left join
(SELECT SUM(FdGmsl) EwoySl,SUM(FdYsje) EwoyYs,SUM(FdSsje) EwoySs FROM View_Qyxsl1 WHERE FdMs='EWOY' and FdGdd='H') b
on b.FdSsqy = a.FdSsqy
order by a.FdSsqy
sunsunup 2003-11-28
  • 打赏
  • 举报
回复
CREATE VIEW dbo.View_Qyxsl
AS
SELECT TOP 100 PERCENT
FdSsqy,'H' as FdGdd,
(SELECT SUM(FdGmsl) as EwoySl,SUM(FdSsje) as EwoyYs,SUM(FdSsje) AS EwoySs FROM View_Qyxsl1 WHERE View_Qyxsl1.FdSsqy = View_Qy.FdSsqy and View_Qyxsl1.FdMs='EWOY' and View_Qyxsl1.FdGdd='H') FROM View_Qy
order by FdSsqy
不行嗎

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧