Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

SQL Server 2005 SQL Error

Posted on 2009-04-01
3
Medium Priority
?
184 Views
Last Modified: 2012-05-06
The below SQL is producing the following error:

Msg 207, Level 16, State 1, Line 21
Invalid column name 'StartDate'.
Msg 207, Level 16, State 1, Line 22
Invalid column name 'ClosingDateFinal'.
Msg 207, Level 16, State 1, Line 22
Invalid column name 'ClosingDateF2'.

Any ideas?
CASE WHEN [dtStart] IS NULL THEN NULL 
      ELSE CAST(MONTH([dtStart]) AS varchar(2)) + '/1/' + 
               CAST(YEAR([dtStart]) AS varchar(4)) + ' 5:00 PM' END AS StartDate,
CAST([StartDate] AS datetime) AS StartDate2,
CASE WHEN StartDate Is Null THEN Null ELSE [StartDate2] END AS Dt3

Open in new window

0
Comment
Question by:CipherIS
3 Comments
 
LVL 27

Expert Comment

by:Chris Luttrell
ID: 24043598
I am assuming this is the select column list in a query.  startdate looks to be a column alias and you can not use it on another line.  You will have to reuse the entire logic for startdate or rework the query some, but there is not enough detail here to help with that.
0
 
LVL 39

Accepted Solution

by:
BrandonGalderisi earned 2000 total points
ID: 24043618
StartDate and StartDate2 are not columns in your table, they are aliases in your select statement.  They cannot be referenced in the statement itself unless you place the select into a derived table.  From there, the statements can reference by alias.

example:
select CASE WHEN StartDate Is Null THEN Null ELSE [StartDate2] END AS Dt3
from
(select CAST([StartDate] AS datetime) AS StartDate2
from 
(select CASE WHEN [dtStart] IS NULL THEN NULL 
      ELSE CAST(MONTH([dtStart]) AS varchar(2)) + '/1/' + 
               CAST(YEAR([dtStart]) AS varchar(4)) + ' 5:00 PM' END AS StartDate
from TableA) a)b)c

Open in new window

0
 
LVL 8

Expert Comment

by:vinurajr
ID: 24043780
IS THE CODE U SEND IS CORRECT.. WHAT IS UR REQUIREMENT...?
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
Recursive SQL is one of the most fascinating and powerful and yet dangerous feature offered in many modern databases today using a Common Table Expression (CTE) first introduced in the ANSI SQL 99 standard. The first implementations of CTE began ap…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.
Suggested Courses

581 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question