SQL 包含 3 个参考文献和日期声明的声明
SQL Statement with 3 References and Date Statement
我实际上是在摆弄 MS SQL 2014 并尝试为我们的 Sharepoint Server 创建一个声明。
我们有一个考勤卡应用程序,我们可以在其中查看我们的哪个工人在工作,谁不在。
我有 3 个 Table
[easyjob].[dbo].[Address]
我将 IDAddress
作为加入列。
这 Table 包含工人的姓名。
[easyjob].[dbo].[TimeCardUser]
我有 IDAdress and IDTimeCardUser
此 Table 包含考勤卡应用程序的用户。
[easyjob].[dbo].[TimeCardWorkTime]
我有 IDTImeCardUser
这 Table 包含工作时间。为此,我已经有了一个有效的 SQL 声明,它为我提供了内部工作人员:
`SELECT [IdTimeCardWorkTime]
,[IdTimeCardUser]
,[IdTimeCardWorkTimeType]
,[WorkStart]
,[WorkEnd]
,[Duration]
,[IdUserCreated]
,[IdUserUpdated]
,[CreationTime]
,[UpdateTime]
,[Description]
FROM [easyjob].[dbo].[TimeCardWorkTime] WHERE [WorkEnd] is NULL AND [WorkStart] BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))`
给出
IdTimeCardWorkTime IdTimeCardUser IdTimeCardWorkTimeType WorkStart WorkEnd Duration IdUserCreated IdUserUpdated CreationTime UpdateTime Description
3655 22 1 2015-12-03 07:55:00.000 NULL NULL 55 55 2015-12-03 07:55:00.000 2015-12-03 07:56:00.033 NULL
现在我只需要将名称输入输出即可。
然后这将显示在我们的 Sharepoint Intranet 上。
有人可以帮助我吗?
我会感激的。
此致
萨沙
您已经尝试过如下内容
SELECT T.[IdTimeCardWorkTime]
, T.[IdTimeCardUser]
, A.[NAME]
, T.[IdTimeCardWorkTimeType]
, T.[WorkStart]
, T.[WorkEnd]
, T.[Duration]
, T.[IdUserCreated]
, T.[IdUserUpdated]
, T.[CreationTime]
, T.[UpdateTime]
, T.[Description]
FROM [easyjob].[dbo].[TimeCardWorkTime] T
INNER JOIN [easyjob].[dbo].[TimeCardUser] W
ON (T. IDTimeCardUser = W.IDTImeCardUser)
INNER JOIN [easyjob].[dbo].[Address] A
ON (W. IDAdress = A.IDAdress)
WHERE T.[WorkEnd] IS NULL
AND T.[WorkStart] BETWEEN CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
希望对您有所帮助
我实际上是在摆弄 MS SQL 2014 并尝试为我们的 Sharepoint Server 创建一个声明。
我们有一个考勤卡应用程序,我们可以在其中查看我们的哪个工人在工作,谁不在。
我有 3 个 Table
[easyjob].[dbo].[Address]
我将 IDAddress
作为加入列。
这 Table 包含工人的姓名。
[easyjob].[dbo].[TimeCardUser]
我有 IDAdress and IDTimeCardUser
此 Table 包含考勤卡应用程序的用户。
[easyjob].[dbo].[TimeCardWorkTime]
我有 IDTImeCardUser
这 Table 包含工作时间。为此,我已经有了一个有效的 SQL 声明,它为我提供了内部工作人员:
`SELECT [IdTimeCardWorkTime]
,[IdTimeCardUser]
,[IdTimeCardWorkTimeType]
,[WorkStart]
,[WorkEnd]
,[Duration]
,[IdUserCreated]
,[IdUserUpdated]
,[CreationTime]
,[UpdateTime]
,[Description]
FROM [easyjob].[dbo].[TimeCardWorkTime] WHERE [WorkEnd] is NULL AND [WorkStart] BETWEEN
CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))`
给出
IdTimeCardWorkTime IdTimeCardUser IdTimeCardWorkTimeType WorkStart WorkEnd Duration IdUserCreated IdUserUpdated CreationTime UpdateTime Description
3655 22 1 2015-12-03 07:55:00.000 NULL NULL 55 55 2015-12-03 07:55:00.000 2015-12-03 07:56:00.033 NULL
现在我只需要将名称输入输出即可。
然后这将显示在我们的 Sharepoint Intranet 上。
有人可以帮助我吗? 我会感激的。
此致
萨沙
您已经尝试过如下内容
SELECT T.[IdTimeCardWorkTime]
, T.[IdTimeCardUser]
, A.[NAME]
, T.[IdTimeCardWorkTimeType]
, T.[WorkStart]
, T.[WorkEnd]
, T.[Duration]
, T.[IdUserCreated]
, T.[IdUserUpdated]
, T.[CreationTime]
, T.[UpdateTime]
, T.[Description]
FROM [easyjob].[dbo].[TimeCardWorkTime] T
INNER JOIN [easyjob].[dbo].[TimeCardUser] W
ON (T. IDTimeCardUser = W.IDTImeCardUser)
INNER JOIN [easyjob].[dbo].[Address] A
ON (W. IDAdress = A.IDAdress)
WHERE T.[WorkEnd] IS NULL
AND T.[WorkStart] BETWEEN CAST(GETDATE() AS DATE) AND DATEADD(DAY, 1, CAST(GETDATE() AS DATE))
希望对您有所帮助