What's new

Closed HELP MYSQL NESTED QUERY JOIN

Status
Not open for further replies.

pakseyt

Addict
Joined
Aug 10, 2018
Posts
176
Reaction
25
Points
106
Age
25
Hi mga KAPHC,

Pwede pahelp?

Ano mali dito sa query ko sa mysql.

Select usual.emp_id, lastname, firstname, comm_count From tbl_employees


b inner join
(SELECT emp_id, COUNT(*) AS comm_count
FROM tbl_performance WHERE perf_category = 'Commendation' AND YEAR(perf_datetime) = YEAR(CURDATE()) AND
MONTH(perf_datetime) = MONTH(CURDATE())
GROUP BY emp_id) as usual on usual.emp_id = b.emp_id

c inner join
(SELECT emp_id, COUNT(*) AS poor_perf
FROM tbl_performance WHERE perf_category = 'Poor Performance' AND YEAR(perf_datetime) = YEAR(CURDATE()) AND
MONTH(perf_datetime) = MONTH(CURDATE())
GROUP BY emp_id) as yeah on usual.emp_id = c.emp_id


nag eerror eh.
pag di ko sinama ung 'c inner join' then the rest ok naman. may result.

Thanks in advance.
 
ano ang error na lumalabas. yun ang importante di mo sinama sa tanong mo.


pero based sa analysis ko sa query mo, baka ganto dapat yan:

SQL:
SELECT usual.emp_id, lastname, firstname, comm_count
FROM tbl_employees b
INNER JOIN
     (SELECT emp_id, COUNT(*) AS comm_count
     FROM tbl_performance WHERE perf_category = 'Commendation' AND YEAR(perf_datetime) = YEAR(CURDATE()) AND
     MONTH(perf_datetime) = MONTH(CURDATE())
     GROUP BY emp_id) AS usual ON usual.emp_id = b.emp_id
INNER JOIN
     (SELECT emp_id, COUNT(*) AS poor_perf
     FROM tbl_performance WHERE perf_category = 'Poor Performance' AND YEAR(perf_datetime) = YEAR(CURDATE()) AND
     MONTH(perf_datetime) = MONTH(CURDATE())
     GROUP BY emp_id) AS yeah ON usual.emp_id = yeah.emp_id

advise ko lang, magbasa ka ng proper na coding syntax ng mysql or sql server. makakatulong yun sa readability ng code mo. ang gulo e. katulad ng condition mo sa perf_category, bakit nakafix yan? ugaliin mong maglagay ng parameter. mag declare ka ng variable mo at dun mo ilagay yung value.
 
Last edited:
Status
Not open for further replies.

Similar threads

Back
Top