请帮忙看一下sql哪里错了 sqlserver

image.png

SELECT

a.BillDate 日期,

YEAR (a.BillDate) 年份,

MONTH (a.BillDate) 月份,

DAY (a.BillDate) 日,

a.ShopID 门店ID,

b.BrandName 品牌,

b.HotelName 门店,

SUM (a.Amount) 实际营收,

c.[Value] 计划营收

FROM

[dbo].[DIM_POS_Shop] b

LEFT JOIN [dbo].[FACT_POS_Bill] a ON a.ShopID = b.ShopID

LEFT JOIN [dbo].[FACT_Target_Day] c ON c.ShopID = b.HotelID

where  c.Items = '营收(万元)'

${if(type='date', " and a.BillDate >= '" + 开始日期 + "' and a.BillDate<='" + 结束日期 + "'", "")}

${if(type='month', " and cast(month(a.BillDate) as int) = "+ 月 + " and year(a.BillDate) = '" + 年+"'", "")}

${if(type='year', " and year(a.BillDate) = '" + 年+"'", "")}

${if(len(品牌)==0,"","and b.BrandName in ('"+品牌+"')")}

${if(len(门店)==0,"","and b.HotelName in ('"+门店+"')")}

GROUP BY

a.ShopID,

a.BillDate,

b.BrandName,

b.HotelName,

c.[Value]

ORDER BY

a.ShopID ASC

百煮味香 发布于 2022-8-24 14:39 (编辑于 2022-8-24 14:44)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
胡歌Lv7中级互助
发布于2022-8-24 14:41

to_date(a.BillDate,'yyyy-mm-dd')   先把这个转成日期,在使用year这些函数

  • 百煮味香 百煮味香(提问者) sqlserver
    2022-08-24 14:43 
  • 胡歌 胡歌 回复 百煮味香(提问者) 用CONVERT(varchar(100), GETDATE(), 20) 这个转
    2022-08-24 14:45 
  • 胡歌 胡歌 回复 百煮味香(提问者) https://blog.csdn.net/lyelyelye/article/details/78799313
    2022-08-24 14:46 
  • 2关注人数
  • 373浏览人数
  • 最后回答于:2022-8-24 14:44
    请选择关闭问题的原因
    确定 取消
    返回顶部