【发布时间】:2016-11-03 18:07:05
【问题描述】:
我正在尝试通过根据一列中的先前日期从不同表中选择一些列来创建视图。这工作正常,这是我的代码
ALTER VIEW [Orders_By_User]
AS
(
SELECT
[Userid]
,[Region]
,[Country]
,[Order Number]
,[Order Entry Date]
,[Customer Name]
FROM BACKLOG
WHERE ([Order Entry Date] >= dateadd(day,datediff(day,1,GETDATE()),0)
AND [Order Entry Date] < dateadd(day,datediff(day,0,GETDATE()),0))
AND [Userid] IN ( 'dzuza', 'tmol', 'jmichal')
GROUP BY
[Userid]
,[Region]
,[Country]
,[Order Number]
,[Order Entry Date]
,[Customer Name]
)
我想在同一视图中添加一个条件,如果这一天是星期一,那么它会选择星期五的数据,而不是前一天星期日的数据。我试图这样做
SELECT
CASE
WHEN datename(dw, getdate()) in ('Tuesday','Wednesday','Thursday','Friday') THEN ...
ELSE ...
但我不知道如何正确编写它。当我使用 SELECT CASE 然后另一个 SELECT 时,它显示错误。
有什么建议吗?非常感谢。
【问题讨论】:
-
我没有看到两个表,前一个日期是什么?
GETDATE()?你的预期输出是什么? -
WHERE ([Order Entry Date] >= dateadd(day,datediff(day,1,GETDATE()),0) AND [Order Entry Date]
标签: sql sql-server tsql