[英]how to get both month name and year from field and by w
我必须从表中的字段中获取月份名称和年份,但在查询下方写入时出现错误。 请做必要的事情来纠正我的错误。 提前致谢。
询问:
select SUM(p.Actual_Amount) as buying,
SUM(p.TotalPackageCost) as selling,
(SUM(p.TotalPackageCost) - SUM(p.Actual_Amount)) as profit,
COUNT(e.Enquiry_Id) as Sales,
DATENAME(MM,e.Arrives_On) as Month,
(DATENAME(MONTH,e.Arrives_On) +'-'+ DATENAME(YYYY,e.Arrives_On)) as Date
from Pricing p
inner join Enquiry e on e.Enquiry_Id = p.Enquiry_Id where e.Agent_Name ='Ish Travels' and e.status = 'Confirmed By Company'
group by DATENAME(MM,e.Arrives_On)
order by Month desc
但我收到错误:
列“Enquiry.Arrives_On”在选择列表中无效,因为它既不包含在聚合函数中也不包含在 GROUP BY 子句中。
请帮我解决错误。
您的 group by 子句不完整。 投影中未包含在聚合函数中的每个表达式都必须在 group by 中使用。 我很确定这是有效的:
select
SUM(p.Actual_Amount) as buying,
SUM(p.TotalPackageCost) as selling,
(SUM(p.TotalPackageCost) - SUM(p.Actual_Amount)) as profit,
COUNT(e.Enquiry_Id) as Sales,
DATENAME(MM,e.Arrives_On) as Month,
(DATENAME(MONTH,e.Arrives_On) +'-'+ DATENAME(YYYY,e.Arrives_On)) as Date
from
Pricing p inner join Enquiry e on e.Enquiry_Id = p.Enquiry_Id
where
e.Agent_Name ='Ish Travels'
and
e.status = 'Confirmed By Company'
group by
DATENAME(MM,e.Arrives_On),
(DATENAME(MONTH,e.Arrives_On) +'-'+ DATENAME(YYYY,e.Arrives_On))
order by
5 desc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.