Asp.net 评论。嘿,你为什么不喜欢我的问题?你可以添加一个“月”表,然后在表上留下join(顺便说一下,不是downvoter)。无法理解要求。是否需要进行年度比较?您能看到我的查询吗?我已经加入了该专栏,但如果没有该月份的数据,则不会打印四月-月号。维卡斯先生,我
Asp.net 评论。嘿,你为什么不喜欢我的问题?你可以添加一个“月”表,然后在表上留下join(顺便说一下,不是downvoter)。无法理解要求。是否需要进行年度比较?您能看到我的查询吗?我已经加入了该专栏,但如果没有该月份的数据,则不会打印四月-月号。维卡斯先生,我,asp.net,sql,sql-server-2008,Asp.net,Sql,Sql Server 2008,评论。嘿,你为什么不喜欢我的问题?你可以添加一个“月”表,然后在表上留下join(顺便说一下,不是downvoter)。无法理解要求。是否需要进行年度比较?您能看到我的查询吗?我已经加入了该专栏,但如果没有该月份的数据,则不会打印四月-月号。维卡斯先生,我有显示税收和价格的表格。如果我在四月份没有销售任何产品,那么我如何才能获得零销售和零税的四月份coulmn。所以我也可以显示那个月的数据。嘿,我不知道怎么把我的问题放到SQL Fiddle上。这是一个测试平台。就像我创建了一个模式并添加了一些查
评论。嘿,你为什么不喜欢我的问题?你可以添加一个“月”表,然后在表上留下join(顺便说一下,不是downvoter)。无法理解要求。是否需要进行年度比较?您能看到我的查询吗?我已经加入了该专栏,但如果没有该月份的数据,则不会打印四月-月号。维卡斯先生,我有显示税收和价格的表格。如果我在四月份没有销售任何产品,那么我如何才能获得零销售和零税的四月份coulmn。所以我也可以显示那个月的数据。嘿,我不知道怎么把我的问题放到SQL Fiddle上。这是一个测试平台。就像我创建了一个模式并添加了一些查询一样,那样的话“”意味着我必须创建所有表,并且必须在其中插入值来放入一些测试值,并且只放入那些是此查询基本要求的列。因此可以理解依赖关系。我的cte表达式工作正常,但只有您已更正的条件不工作。。。我的解决方案对你有用吗?我试图解释我的想法,但你似乎不明白。如我向你建议的那样,尝试在年月日加入,如果不起作用,请尝试向我解释你的问题。如果你愿意,我们可以打开聊天室吗?我们可以发送聊天室的链接吗?我花了2个小时搜索如何创建聊天室,我失败了。如果您需要更多帮助,只需解释(上下文、问题、示例)。非常感谢您宝贵的时间,我也不知道如何开始聊天,但我们确实可以在堆栈溢出上彼此聊天,但我不知道如何开始聊天,先生。
DECLARE @CurrentDate AS datetime = getdate();
DECLARE @FirstDayInCurrentMonth AS datetime = DATEADD(day, 1 - DATEPART(day, @CurrentDate), @CurrentDate);
DECLARE @LastApril AS datetime = DATEADD(month, -(DATEPART(month, @FirstDayInCurrentMonth) + 8) % 12, @FirstDayInCurrentMonth);
WITH Periods AS (
SELECT @LastApril AS [Period]
UNION ALL
SELECT DATEADD(month, 1, [Period])
FROM Periods
WHERE [Period] < @FirstDayInCurrentMonth
)
SELECT
DATENAME(month, [Period]),
DATEPART(year, [Period]),
FROM Periods
DECLARE @CurrentDate AS datetime = getdate();
DECLARE @FirstDayInCurrentMonth AS datetime = DATEADD(day, 1 - DATEPART(day, @CurrentDate), @CurrentDate);
DECLARE @LastApril AS datetime = DATEADD(month, -(DATEPART(month, @FirstDayInCurrentMonth) + 8) % 12, @FirstDayInCurrentMonth);
WITH Periods AS (
SELECT @LastApril AS [Period]
UNION ALL
SELECT DATEADD(month, 1, [Period])
FROM Periods
WHERE [Period] < @FirstDayInCurrentMonth
)
SELECT
DATENAME(month, [Period]),
DATEPART(year, [Period]),
MONTH(sm.is_approved) as [MONTH],
isnull(sum(ISM.selling_price * siim.qty),0) as Price,
isnull(sum(((tm.tax_amount*(ism.selling_price * siim.qty))/100)),0) as Tax,
isnull(sum((ism.selling_price * siim.qty) + (((tm.tax_amount*(ism.selling_price * siim.qty))/100))),0) as TotalPrice
FROM Periods
**LEFT OUTER JOIN RS_Sell_Order_Master as SM on sm.is_approved >= DATEADD(MM, 1, @LastApril)**
left outer join RS_Sells_Invoice_Info_Master as SIIM on sm.sell_order_no = SIIM.sell_order_no
left outer join RS_Inventory_Selling_Master as ISM on ISM.selling_product_id = SIIM.selling_product_id
left outer join RS_Tax_Master as TM on Tm.tax_id = SIIM.tax_id
group by
DATENAME(month, [Period]),
DATEPART(year, [Period]),
MONTH(sm.is_approved)
DATEADD(hour, 0, DATEDIFF(DAY, 0,@CurrentDate))
FROM Periods
LEFT OUTER JOIN RS_Sell_Order_Master as SM on sm.is_approved >= DATEADD(MM, 1, @LastApril)
INNER join RS_Sells_Invoice_Info_Master as SIIM on sm.sell_order_no = SIIM.sell_order_no
INNER join RS_Inventory_Selling_Master as ISM on ISM.selling_product_id = SIIM.selling_product_id
INNER join RS_Tax_Master as TM on Tm.tax_id = SIIM.tax_id
GROUP BY
DATEPART(year, [Period]),
DATENAME(month, [Period]),
MONTH(sm.is_approved)
DECLARE @CurrentDate AS datetime = CAST(FLOOR(CAST(getdate() AS FLOAT)) AS DATETIME)
DECLARE @FirstDayInCurrentMonth AS datetime = DATEADD(day, 1 - DATEPART(day, @CurrentDate), @CurrentDate)
DECLARE @LastApril AS datetime = DATEADD(month, -(DATEPART(month, @FirstDayInCurrentMonth) + 8) % 12, @FirstDayInCurrentMonth)
FROM Periods as P
left outer join RS_Sell_Order_Master as SM
on MONTH(sm.is_approved) = MONTH(P.[Period])
and YEAR(sm.is_approved) = YEAR(P.[Period])
DECLARE @CurrentDate AS datetime = getdate();
DECLARE @FirstDayInCurrentMonth AS datetime = DATEADD(day, 1 - DATEPART(day, @CurrentDate), @CurrentDate);
DECLARE @LastApril AS datetime = DATEADD(month, -(DATEPART(month, @FirstDayInCurrentMonth) + 8) % 12, @FirstDayInCurrentMonth);
WITH Periods AS (
SELECT @LastApril AS [Period]
UNION ALL
SELECT DATEADD(month, 1, [Period])
FROM Periods
WHERE [Period] < @FirstDayInCurrentMonth
)
SELECT
DATENAME(month, [Period]),
DATEPART(year, [Period]),
MONTH(sm.is_approved) as [MONTH],
isnull(sum(ISM.selling_price * siim.qty),0) as Price,
isnull(sum(((tm.tax_amount*(ism.selling_price * siim.qty))/100)),0) as Tax,
isnull(sum((ism.selling_price * siim.qty) + (((tm.tax_amount*(ism.selling_price * siim.qty))/100))),0) as TotalPrice
FROM Periods as P
left outer join RS_Sell_Order_Master as SM
on MONTH(sm.is_approved) = MONTH(P.[Period])
and YEAR(sm.is_approved) = YEAR(P.[Period])
left outer join RS_Sells_Invoice_Info_Master as SIIM
on sm.sell_order_no = SIIM.sell_order_no
left outer join RS_Inventory_Selling_Master as ISM
on ISM.selling_product_id = SIIM.selling_product_id
left outer join RS_Tax_Master as TM
on Tm.tax_id = SIIM.tax_id
group by
DATENAME(month, [Period]),
DATEPART(year, [Period]),
MONTH(sm.is_approved)