2016-07-29 135 views
0

什么select语句,我应该用得到如下结果:选择在SELECT语句(连接表)SQL

I want this

目前,当我运行,下面我的存储过程,它会显示“结果”图片:

select vm.ID_Vendor,vm.Vendor_Name,vpe.Company_Name,vpe.TOTAL, 
vpe.COUNT,vpe.AVERAGE from VENDOR_MASTER vm 
LEFT JOIN 
(select vvd.ID_Vendor,sc.ID_Company,sc.Company_Name,vvd.VPE_Average_Score, 
SUM(vvd.VPE_Average_Score) AS TOTAL,COUNT(vvd.VPE_Total_Score) AS COUNT, 
(SUM(vvd.VPE_Average_Score)/COUNT(vvd.VPE_Total_Score)) AS AVERAGE, 
vvm.Assessor_Name FROM VENDOR_VPE_MASTER vvm 
left join VENDOR_VPE_DETAIL vvd on vvm.ID_VPE_Master=vvd.ID_VPE_Master 
left join SETUP_COMPANY sc on vvm.ID_Company=sc.ID_Company 
left join REF_EVL_RATING rer1 on vvd.Quality_Product=rer1.ID_Evl_Rating 
left join REF_EVL_RATING rer2 on vvd.Service=rer2.ID_Evl_Rating 
left join REF_EVL_RATING rer3 on vvd.Technical=rer3.ID_Evl_Rating 
left join REF_EVL_RATING rer4 on vvd.Quality_Mgmt=rer4.ID_Evl_Rating 
left join REF_EVL_RATING rer5 on vvd.Price=rer5.ID_Evl_Rating 
GROUP BY vvd.ID_Vendor,sc.ID_Company,sc.Company_Name,vvd.VPE_Average_Score, 
vvd.VPE_Average_Score,vvd.VPE_Total_Score,vvm.Assessor_Name) as vpe on vm.ID_Vendor=vpe.ID_Vendor 
order by vpe.ID_Vendor 

Result

+0

抱歉,这不是关于格式化电子表格或垂直书写标题。它只是我想要的存储过程,可以检索我想要的结果。 –

回答

0

编辑:现在看来,你はnt来改变你的GROUP BY子句,看看我的意见如下

这是不可能的,因为SQL Server Management Studio是关于数据和服务器管理的,它不是用来创建报表或导出格式良好的数据评论)。但是,如果安装了Excel,则可以从Excel执行查询(数据 - >获取外部数据)。这允许您根据需要格式化标题,并且可以更轻松地导出为其他格式(PDF,图像...)。 作为替代方案,您可以使用Reporting Services,在这些方面您有很多可能性。但是,如果您只需要垂直标题,Excel解决方案将更容易实现。

+0

抱歉,这不是关于格式化电子表格或垂直书写标题。它只是我想要的存储过程,可以检索我想要的结果。 –

+0

好吧,据我现在的了解,你只是想改变你的结果分组?要从您的结果得到所需的结果,应该足以将company_name和聚合排除在其他列(总和/平均值)之外。 – user2599201