cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Error creating derived table !!!

former_member672670
Participant
0 Likes
2,033

Hie Guys,

I needed some help regarding my issue creating derived tables in the Universe Design Tool 4.0. When I click on "check syntax" while creating the derived table, I am getting the following error message - "Each calculated column must have an explicit name". The query works fine in Crystal Reports. I've attached the SQL query below. Is it because there is no comma after "ti.issue_id" at the end of the SELECT statement? If so, how did it work in crystal reports? Could anyone tell me what is wrong with the SQl? Thanks.

SELECT DISTINCT

tc.category_descr as cosa,

tcv_project.custom_value  AS project_id,

ti.issue_title as project_name,

tcv_sponsor.custom_value  AS exec_sponsor,

tis.own_employee_nbr AS bmpe_name,

DATE_FORMAT(tis_start.step_dt, ‘%m/%d/%Y’) AS start_dt,

tcv_end_dt.custom_value AS end_dt,

ts.step_descr AS current_phase,

CONCAT(‘(‘,DATE_FORMAT(ta.insert_dt, ‘%m/%d/%Y’),’) - ‘,ta.append_txt) AS status_descr

tcv_benefits.custom_value AS benefits,

tcfo.option_descr AS benefits_type,

ti.issue_id

IFNULL(tcv_print.custom_value,0)

FROM tbl_issue AS ti

INNER JOIN  tbl_category AS tc

ON ti.catagory_id = tc.catagory_id

LEFT JOIN tbl_custom_value AS tcv_project

ON ti.issue_id = tcv_project.issue_id

AND tcv_project.custom_field_id = 126

LEFT JOIN tbl_custom_value AS tcv_sponsor

ON ti.issue_id = tcv_sponsor.issue_id

AND tcv_sponsor.custom_field_id =137

INNER JOIN (SELECT tis.issue_id, MAX(tis.issue_step_id) AS issue_step_id

                        FROM tbl_issue_step AS tis

INNER JOIN tbl_issue AS ti

ON ti.issue_id = tis.issue_id

                        WHERE ti.process_id = 81

                        GROUP BY issue_id) AS tis_max

ON ti.issue_id = tis_max.issue_id

INNER JOIN  tbl_issue_step AS tis

ON tis_max.issue_step_id = tis.issue_step_id

INNER JOIN tbl_step AS ts

ON tis.step_id = ts.step_id

INNER JOIN tbl_process AS tp

ON ts.process_id = tp.process_id

INNER JOIN tbl_step AS ts_in_flt

ON tp.in_flight_step_id = ts_in_flt.step_id

INNER JOIN(SELECT issue_id, MAX(step_dt) AS step_dt

                        FROM tbl_issue_step

WHERE step_id = (SELECT in_flight_step_id

FROM tbl_process

                                                            WHERE process_id = 81)

                        GROUP BY issue_id) AS tis_start

ON ti.issue_id = tis_start.issue_id

LEFT JOIN tbl_custom_value AS tcv_end_dt

ON ti.issue_id = tcv_end_dt.issue_id

AND tcv_end_dt.custom_field_id = 131

LEFT JOIN (SELECT ta.issue_id, MAX(ta.append_id) as append_id

FROM tbl_append AS ta

INNER JOIN tbl_issue AS ti

ON ti.issue_id = ta.issue_id

WHERE ti.process_id = 81

AND ta.type_id = 2

AND ta.append_txt <> “ GROUP BY issue_id) AS ta_max

ON ti.issue_id = ta_max.issue_id

LEFT JOIN tbl_append AS ta

ON ta_max.append_id = ta.appen_did

LEFT JOIN tbl_custom_value AS tcv_benefits

ON ti.issue_id = tcv_benefits.issue_id

AND tcv_benefits.custom_field_id  = 141

LEFT JOIN tbl_custom_value AS tcv_benefits_type

ON ti.issue_id = tcv_benefits_type.issue_id

AND tcv_benefits_type.custom_field_id = 138

LEFT JOIN tbl_custom_field_option AS tcfo

ON tcv_benefits_type.custom_value = tcfo.custom_field_option_id

LEFT JOIN tbl_custom_value AS tcv_print

ON ti.issue_id = tcv_print.issue_id

AND tcv_print.custom_field_id = 343

WHERE ti.process_id = 81

AND ts.step_type_id<3

AND ts.sort_order >= ts_in_flt.sort_order 

View Entire Topic
Former Member
0 Likes

Easy way to solve the issue by executing same query in SQL client and check whether you are getting any error.

Most probably you will get. After solving the issue, paste the same query in derived table.

former_member672670
Participant
0 Likes

I ran the query in SQuirrel SQL & it runs without an error. Also, it runs in IDT. I'm guessing its this line - IFNULL(tcv_print.custom_value,0) that's causing the problem in UDT. If i remove it though, then I get an error. Thanks.

Former Member
0 Likes

You can not have a IFNULL function it should be NVL and the in your statement the comma is missing as well that is causing the issue