Sql server 包含3个引用和日期语句的SQL语句
我实际上是在摆弄MS SQL 2014,试图为我们的Sharepoint服务器创建一个语句 我们有一个考勤卡应用程序,可以查看哪些员工在工作,哪些员工不在工作 我有三张桌子Sql server 包含3个引用和日期语句的SQL语句,sql-server,join,sharepoint,sql-server-2014,Sql Server,Join,Sharepoint,Sql Server 2014,我实际上是在摆弄MS SQL 2014,试图为我们的Sharepoint服务器创建一个语句 我们有一个考勤卡应用程序,可以查看哪些员工在工作,哪些员工不在工作 我有三张桌子 [easyjob].[dbo].[Address]其中我将IDAddress作为联接列。 此表包含工作人员的名称 [easyjob].[dbo].[TimeCardUser]我有IDAddress和IDTimeCardUser 此表包含Timecard应用程序的用户 [easyjob].[dbo].[TimeCardWork
[easyjob].[dbo].[Address]
其中我将IDAddress
作为联接列。
此表包含工作人员的名称
[easyjob].[dbo].[TimeCardUser]
我有IDAddress和IDTimeCardUser
此表包含Timecard应用程序的用户
[easyjob].[dbo].[TimeCardWorkTime]
我拥有的IDTImeCardUser
此表包含工作时间。为此,我已经有了一个工作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工作开始工作结束持续时间IdUserCreated IdUserUpdated CreationTime UpdateTime说明
3655 22 1 2015-12-03 07:55:00.000空值55 55 2015-12-03 07:55:00.000 2015-12-03 07:56:00.033空值
现在我只需要将名称添加到输出中
然后,这将显示在我们的sharepoint intranet上
谁能帮帮我吗。
我会很感激的
问候
Sascha您已经尝试过以下方法
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))
希望这对您有所帮助您已经尝试过以下方法
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))
希望这有帮助您的预期输出是什么?是否要在给定的select语句中包含该名称?您好。其实只是想知道家里工人的名字。这是我语句中的列表,但我需要名称。然后,您必须有一个键,并且有一个键列才能将[easyjob].[dbo].[TimeCardWorkTime]表与[easyjob].[dbo].[Address]表连接起来,以获取名称。这就是我尝试的。但是我失败了,因为我通过了第三个表。你是说表中没有任何键列?你期望的输出是什么?是否要在给定的select语句中包含该名称?您好。其实只是想知道家里工人的名字。这是我语句中的列表,但我需要名称。然后,您必须有一个键,并且有一个键列才能将[easyjob].[dbo].[TimeCardWorkTime]表与[easyjob].[dbo].[Address]表连接起来,以获取名称。这就是我尝试的。但是我失败了,因为我通过了第三个表格。你的意思是你的表格中没有任何关键列?就这样。非常感谢。非常感谢