I'm using sql server 2008 R2
I have a test table called
TestEmployeeHistory
The table looks like this:
![my table]()
This is the script to create the table.
CREATE TABLE [dbo].[TestEmployeeHistory](
[Region] [smallint] NULL,
[SocialNo] [char](9) NULL,
[EmployeePaidDate] [smalldatetime] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
INSERT [dbo].[TestEmployeeHistory] ([Region], [SocialNo], [EmployeePaidDate]) VALUES (1, N'12345678 ', CAST(0x8E1302D0 AS SmallDateTime))
INSERT [dbo].[TestEmployeeHistory] ([Region], [SocialNo], [EmployeePaidDate]) VALUES (1, N'12345679 ', CAST(0x8E1302D0 AS SmallDateTime))
INSERT [dbo].[TestEmployeeHistory] ([Region], [SocialNo], [EmployeePaidDate]) VALUES (1, N'12345680 ', CAST(0x8E1302D0 AS SmallDateTime))
INSERT [dbo].[TestEmployeeHistory] ([Region], [SocialNo], [EmployeePaidDate]) VALUES (1, N'12345681 ', CAST(0x8E1302D0 AS SmallDateTime))
INSERT [dbo].[TestEmployeeHistory] ([Region], [SocialNo], [EmployeePaidDate]) VALUES (1, N'12345682 ', CAST(0x912B02D0 AS SmallDateTime))
Open in new window
I have a query that looks like this:
DECLARE @Region varchar(800), @FromDate char(30), @ToDate char(30), @EmployeeSocial char(9)
SET @Region = '1'
SET @FromDate = '07/01/1999'
SET @ToDate = '06/30/2000'
SET @EmployeeSocial = NULL
SELECT h.Region
,h.SocialNo
,h.EmployeePaidDate
FROM [TestDatabase].[dbo].[TestEmployeeHistory] h
WHERE
IF (@Region <> '0')
BEGIN
h.Region IN (RTrim(@Region)) AND
END
If (@EmployeeSocial <> '')
BEGIN
h.SocialNo = @EmployeeSocial AND
END
GROUP BY h.Region
,h.SocialNo
,h.EmployeePaidDate
Open in new window
When I run this query I get this error message.
![my error message]()
It seems I am making a mistake in the syntax of my if statements
Anyone where I'm making a mistake in my if statements?