我試圖弄清楚如何在我的表中進行操作以按時間段獲取價格總和;基本上我有 4 張桌子:“房間”、“媒體”、“詳細資訊”和“價格”;Room 是我的帶有 ID 的主表,我需要加入子表以獲取每個單元的詳細資訊、媒體和價格。現在效果很好:
@From as date
@To as date
SELECT
Unit.Id,
Unit.Description,
Details.Description,
Medias.path,
FROM Unit
LEFT JOIN Details
ON Unit.Id = Details.UnitId
LEFT JOIN Medias
ON Unit.Id = Medias.UnitId
我現在需要向具有如下結構的“價格”表添加第三個連接:
Id UnitId From To Price
-----------------------------------------------
1 1855 2022-06-18 2022-07-08 203.8600
2 1855 2022-07-09 2022-08-12 128.5700
3 1855 2022-08-13 2022-08-19 102.8600
4 2600 2022-06-18 2022-07-08 231.8600
5 2600 2022-07-09 2022-08-12 322.5700
6 2600 2022-08-13 2022-08-19 122.8600
我想要做的是在我的存盤程序中從變數@From 和@To 添加到我的選擇中的價格總和(),以獲得過去一段時間的總價格。
例如傳遞 @From = '2022-07-07' 和 @To = '2022-07-11' 它應該給我: 664.86 (203.8600 203.8600 128.5700 128.5700) 對于單元 1855 和 1108.86 (231.8600 231.8600 322.5700 322.5700) 用于 2600 單元
希望我說清楚了,謝謝你的幫助!
uj5u.com熱心網友回復:
由于您只需要價格,因此您可以使用相關的子查詢,例如:
select u.Id, u.Description, d.Description, m.Path, (
select Sum(Price)
from Prices p
where p.UnitId = u.Id and p.from >= @From and p.to <= @To
) as Price
from Unit u
left join Details d on d.UnitId = u.Id
left join Medias m on m.UnitId = u.Id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/495637.html