Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

SQL Server 2005 SQL Error

Posted on 2009-04-01
3
Medium Priority
?
182 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Survive A High-Traffic Event with Percona

Your application or website rely on your database to deliver information about products and services to your customers. You can’t afford to have your database lose performance, lose availability or become unresponsive – even for just a few minutes.

Question has a verified solution.

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

In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
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.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

721 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