公司的會計年度:七月1日至6月30日財年至今在where子句(T-SQL)
我在那裏,我試圖通過產品和成本來捕獲的單位和$收入合計#查詢爲財政年度至今的中心。它將在本月1日運行並查看上個月的最後一天。財政年度沒有出現在報告中 - 這是標準。
Mix of pseudocode and SQL:
Where
If datepart(mm,getdate()) - 1 < 7
THEN
transaction_post_date BETWEEN 7/1/ previous year AND dateadd(day,-(day(getdate()),getdate())
Else
transaction_post_date BETWEEN 7/1/current year AND dateadd(day,-(day(getdate()),getdate())
我在寫軌道嗎?如何在一年中取決於SQL - 7/1 /當前年的特定日期編寫SQL?
我很弱,使用變量,甚至不知道我是否有權限在SQL Server數據庫上創建它們,而這些數據庫已被鎖定。絕對不能創建一個功能。 (我是一個業務分析師)
UPDATE,財政年度前進,所以2010年7月1日,是2011財年
我想這樣的作品:
Year(dateadd(month,6,htx.tx_post_date)) = Year(DateAdd(Month, 5, GetDate()))
留言反饋?
而現在我被要求增加會計年度至今字段數量和收入這給了我的總計
Select
inv.ITEM_CODE
, inventory.ITEM_NAME
, cc.COST_CENTER_CODE
, tx.REV_CODE_ID
, tx.PRICE
, tx.ITEM_SALE_ID
, sum(tx.quantity)
, sum(tx.amount)
from
transactions tx
inner join inventory inv on inv.item_id = tx.item_id
left outer join cost_center cc on cc.cost_center_id = tx.cost_center_id
where
DATEPART(mm, tx.tx_date) = DATEPART(mm,dateadd(m,-1,getdate()))
and DATEPART(yyyy, tx.tx_date) = DATEPART(yyyy,dateadd(m,-1,getdate()))
group by
inv.ITEM_CODE
, inventory.ITEM_NAME
, cc.COST_CENTER_CODE
, tx.REV_CODE_ID
, tx.PRICE
, tx.ITEM_SALE_ID
我需要添加財年TO-以下查詢日期數量和金額欄到這個報告。相關的子查詢將走的路嗎?聯接會不會很棘手?我從來沒有使用過聚合/分組查詢的子查詢。
感謝所有先前的幫助。
步驟之一*會意*如果你可以做一些事情是嘗試它。你應該沒有問題做'DECLARE @myVar AS INT'等。 – MatBailie
你真的不想在日期範圍中使用'BETWEEN',特別是在做月末/日終檢查時做'不到下個月的第一天/一天的開始'是最容易的,尤其是對於時間戳)。另外,儘管我的直覺告訴我有一種方法可以用一組函數來完成此操作,但您可能需要考慮創建日曆文件(不過,您可能需要自定義一些內容)。 –