| Author |
Topic |
|
JezLisle
Posting Yak Master
132 Posts |
Posted - 2009-09-22 : 10:22:38
|
I have this SELECT statement and am trying to use CASE Statements within it, I have used a CASE alreadt and that works fine, now I am trying to use the CASE in another CASE and it returns an error of Invalid Column name.Msg 207, Level 16, State 1, Line 12Invalid column name 'Appt1'.How can I get around this?My code is belowSELECT ASV.db_serv_job_no AS [JobNo], ASV.prop_seql AS [UPRN], QASV.status AS [Status], QASVS.status AS [SubStatus], CONVERT(VARCHAR(20), ASV.booking_date, 103) AS [Latest/NextApptDate],CASE WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = CONVERT(VARCHAR(20), ASV.[booking_date], 103) THEN CONVERT(VARCHAR(20), ASV.[booking_date], 103) ELSE CONVERT(VARCHAR(20), ASV.[1st_na], 103)END AS [Appt1],CONVERT(VARCHAR(20), ASV.[1st_na], 103) AS [NA1],CASE WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = [Appt1] THEN 'NA1' WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = CONVERT(VARCHAR(20), ASV.[completion_date], 103) THEN 'CompVisit1' ELSE 'UnknAppt1'END AS [Appt1Outcome],ASV.[1st_na_letter] AS [NA1Letter], null AS [Appt2],ASV.[2nd_na] AS [NA2], ASV.[2nd_na_letter] AS [NA2Letter], null AS [Appt3],ASV.[3rd_na] AS [NA3], ASV.[3rd_na_letter] AS [NA3Letter], ASV.[1st_section_54] AS [1stSect54], ASV.[1st_section_54_appointment] AS [1stSect54Appt], ASV.[1st_section_54_no_access] AS [1stSect54NA], ASV.[2nd_section_54] AS [2ndSect54], ASV.[2nd_section_54_appointment] AS [2ndSect54Appt], ASV.[2nd_section_54_no_access] AS [2ndSect54NA], ASV.completion_date AS [CompletedDate], C.name_short AS Contract,'ASV' AS [JobType]FROM dbo.contracts AS C INNER JOIN (dbo.property AS P INNER JOIN ((dbo.servicing_jobs AS ASV INNER JOIN dbo.quicklist_service_status AS QASV ON ASV.status = QASV.id) INNER JOIN dbo.quicklist_service_status_sub AS QASVS ON ASV.status_sub = QASVS.id) ON P.prop_seql = ASV.prop_seql) ON C.id = P.contract_idWHERE (((ASV.booking_date)> CONVERT(DATETIME, '2009-04-01 00:00:00', 102)))AND ((C.name_short) NOT LIKE 'Test'+'%') |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2009-09-22 : 10:49:53
|
| [code]SELECT ASV.db_serv_job_no AS [JobNo], ASV.prop_seql AS [UPRN], QASV.status AS [Status], QASVS.status AS [SubStatus], CONVERT(VARCHAR(20), ASV.booking_date, 103) AS [Latest/NextApptDate],CASE WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = CONVERT(VARCHAR(20), ASV.[booking_date], 103) THEN CONVERT(VARCHAR(20), ASV.[booking_date], 103) ELSE CONVERT(VARCHAR(20), ASV.[1st_na], 103)END AS [Appt1],CONVERT(VARCHAR(20), ASV.[1st_na], 103) AS [NA1],CASE WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = CASE WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = CONVERT(VARCHAR(20), ASV.[booking_date], 103) THEN CONVERT(VARCHAR(20), ASV.[booking_date], 103) ELSE CONVERT(VARCHAR(20), ASV.[1st_na], 103)END THEN 'NA1' WHEN CONVERT(VARCHAR(20), ASV.[1st_na], 103) = CONVERT(VARCHAR(20), ASV.[completion_date], 103) THEN 'CompVisit1' ELSE 'UnknAppt1'END AS [Appt1Outcome],ASV.[1st_na_letter] AS [NA1Letter], null AS [Appt2],ASV.[2nd_na] AS [NA2], ASV.[2nd_na_letter] AS [NA2Letter], null AS [Appt3],ASV.[3rd_na] AS [NA3], ASV.[3rd_na_letter] AS [NA3Letter], ASV.[1st_section_54] AS [1stSect54], ASV.[1st_section_54_appointment] AS [1stSect54Appt], ASV.[1st_section_54_no_access] AS [1stSect54NA], ASV.[2nd_section_54] AS [2ndSect54], ASV.[2nd_section_54_appointment] AS [2ndSect54Appt], ASV.[2nd_section_54_no_access] AS [2ndSect54NA], ASV.completion_date AS [CompletedDate], C.name_short AS Contract,'ASV' AS [JobType]FROM dbo.contracts AS C INNER JOIN (dbo.property AS P INNER JOIN ((dbo.servicing_jobs AS ASV INNER JOIN dbo.quicklist_service_status AS QASV ON ASV.status = QASV.id) INNER JOIN dbo.quicklist_service_status_sub AS QASVS ON ASV.status_sub = QASVS.id) ON P.prop_seql = ASV.prop_seql) ON C.id = P.contract_idWHERE (((ASV.booking_date)> CONVERT(DATETIME, '2009-04-01 00:00:00', 102)))AND ((C.name_short) NOT LIKE 'Test'+'%')[/code]MadhivananFailing to plan is Planning to fail |
 |
|
|
JezLisle
Posting Yak Master
132 Posts |
Posted - 2009-09-22 : 11:07:38
|
| Thanks for that :)So can you have multiple CASE within CASE? |
 |
|
|
Lamprey
Master Smack Fu Yak Hacker
4614 Posts |
Posted - 2009-09-22 : 13:32:13
|
quote: Originally posted by JezLisle Thanks for that :)So can you have multiple CASE within CASE?
Yes, you can have nested CASE statements. |
 |
|
|
|
|
|