SELECT tbl_class.class_name,tbl_class.class_image,tbl_class.transid,
tbl_class.class_description, COUNT(tbl_question.class_tid) AS total,
tbl_label.label_name,tbl_label.label_no,tbl_subject.subject_name,
tbl_subject.subject_code,tbl_question.subject_tid,tbl_class.transid AS class
FROM
(SELECT tbl_class.class_name,tbl_class.class_image,tbl_class.transid,
tbl_class.class_description, COUNT(tbl_class.transid) AS total,
tbl_label.label_name, tbl_label.label_no, tbl_subject.subject_name,
tbl_subject.subject_code, tbl_question.subject_tid,
tbl_class.transid AS class
FROM tbl_result
LEFT JOIN tbl_class ON tbl_result.class_tid = tbl_class.transid
AND tbl_class.is_delete='N'
AND tbl_result.is_delete='N'
AND tbl_result.is_active='Active'
JOIN tbl_field ON tbl_field.transid = tbl_class.field_tid
AND tbl_field.is_delete = 'N'
AND tbl_field.is_active='Active'
JOIN tbl_label ON tbl_label.transid = tbl_field.label_tid
AND tbl_label.is_delete = 'N'
AND tbl_label.is_active='Active'
UNION
SELECT tbl_class.class_name,tbl_class.class_image,tbl_class.transid,
tbl_class.class_description, COUNT(tbl_class.transid) AS total,
tbl_label.label_name, tbl_label.label_no, tbl_subject.subject_name,
tbl_subject.subject_code, tbl_question.subject_tid,
tbl_class.transid AS class
FROM tbl_class
LEFT JOIN tbl_exam_management ON tbl_exam_management.class_tid = tbl_class.transid
AND tbl_exam_management.is_delete='N'
JOIN tbl_field ON tbl_field.transid = tbl_class.field_tid
AND tbl_field.is_delete = 'N'
AND tbl_field.is_active='Active'
JOIN tbl_label ON tbl_label.transid = tbl_field.label_tid
AND tbl_label.is_delete = 'N'
AND tbl_label.is_active='Active')

- 6,815
- 2
- 13
- 33

- 53
- 1
- 7
-
1Just Google for this error message to get your answer. Voting to close as a typo question. – Tim Biegeleisen Oct 28 '19 at 07:48
-
You can also use the search on StackOverflow to get some hints and possible solutions for this problem: https://stackoverflow.com/search?q=%5Bmysql%5D+derived+table+alias – Sebastian Brosch Oct 28 '19 at 07:51
-
You see the first `FROM` then it followed with a opening bracket `(`? That's where the derive table starts. Then you go to the end of the query at the closing bracket `)`, you define the alias after the bracket. But judging from your query, it won't run even after you assign the derived table with an alias. – FanoFN Oct 28 '19 at 09:36
1 Answers
(SELECT tbl_class.class_name,tbl_class.class_image,tbl_class.transid, tbl_class.class_description,COUNT(tbl_class.transid) as total , tbl_label.label_name,tbl_label.label_no,tbl_subject.subject_name,tbl_subject.subject_code,tbl_question.subject_tid,tbl_class.transid as class FROM tbl_result LEFT JOIN tbl_class on tbl_result.class_tid = tbl_class.transid AND tbl_class.is_delete='N' AND tbl_result.is_delete = 'N' AND tbl_result.is_active='Active' JOIN tbl_field ON tbl_field.transid = tbl_class.field_tid AND tbl_field.is_delete = 'N' AND tbl_field.is_active='Active' JOIN tbl_label ON tbl_label.transid = tbl_field.label_tid AND tbl_label.is_delete = 'N' AND tbl_label.is_active='Active' UNION SELECT tbl_class.class_name,tbl_class.class_image,tbl_class.transid, tbl_class.class_description,COUNT(tbl_class.transid) as total , tbl_label.label_name,tbl_label.label_no,tbl_subject.subject_name,tbl_subject.subject_code,tbl_question.subject_tid,tbl_class.transid as class FROM tbl_class LEFT JOIN tbl_exam_management on tbl_exam_management.class_tid = tbl_class.transid AND tbl_exam_management.is_delete='N' JOIN tbl_field ON tbl_field.transid = tbl_class.field_tid AND tbl_field.is_delete = 'N' AND tbl_field.is_active='Active' JOIN tbl_label ON tbl_label.transid = tbl_field.label_tid AND tbl_label.is_delete = 'N' AND tbl_label.is_active='Active')
You have to give an alias name for this subquery

- 16