sql-server - SQL Server:按年份过滤
问题描述
CREATE PROCEDURE mittelwert3
@kID INT, @date DATE
AS
SELECT
SUM(((Verkauf.MengePräsentkorb * Präsentkorb.Preis) +
(Verkauf.MengeArtikel * Artikel.Preis)) / 365)
FROM
Verkauf
INNER JOIN
kunde ON kunde.KundeID = Verkauf.KundeID
INNER JOIN
Artikelverkauf ON Artikelverkauf.BestellungID = Verkauf.kaufID
INNER JOIN
Artikel ON Artikel.ArtikelID = Artikelverkauf.ArtikelID
INNER JOIN
Präsentkorbverkauf ON Präsentkorbverkauf.BestellungID = Verkauf.kaufID
INNER JOIN
Präsentkorb ON Präsentkorb.PräsentkorbID = Präsentkorbverkauf.PräsentkorbID
WHERE
kunde.kundeID = @kID
AND verkauf.datum = '@date-%%-%%'
如何过滤日期年份?
因为我尝试过的不起作用(请参阅查询的最后一行)
乐玩
解决方案
给出一个范围是最好的选择。这些计算将获得参数年份的第一天和下一年的第一天。零可以更改为任何值,但必须保持不变。
CREATE PROCEDURE mittelwert3 @kID int ,@date date
AS
SELECT SUM(((Verkauf.MengePräsentkorb*Präsentkorb.Preis)+
(Verkauf.MengeArtikel*Artikel.Preis))/365)
FROM Verkauf
INNER JOIN kunde ON kunde.KundeID = Verkauf.KundeID
INNER JOIN Artikelverkauf ON Artikelverkauf.BestellungID = Verkauf.kaufID
INNER JOIN Artikel ON Artikel.ArtikelID = Artikelverkauf.ArtikelID
INNER JOIN Präsentkorbverkauf ON Präsentkorbverkauf.BestellungID = Verkauf.kaufID
INNER JOIN Präsentkorb ON Präsentkorb.PräsentkorbID = Präsentkorbverkauf.PräsentkorbID
WHERE kunde.kundeID = @kID
AND verkauf.datum >= DATEADD( YY, DATEDIFF( YY, 0, @date), 0)
AND verkauf.datum < DATEADD( YY, DATEDIFF( YY, 0, @date)+1, 0)
推荐阅读
- python - How to create dictionary in python?
- java - How can I enable/disable a JTextField with a JCheckBox? or what's wrong with my code?
- apache - 检查属性文件是否存在
- angular - 如何在角度 6 中添加 ag-grid 数据的弹出窗口?
- reactjs - 来自 create-react-app npm run-script build 的错误 BrowserlistsError
- java - 我无法从 REST API URL 获取 JSON 对象
- javascript - Remote video on both sides won't show up
- google-sheets - 每天复制一张纸
- react-native - Jest Test Fail in React Native
- angular - 无法获得参数路线角度6