get result for 2 different tables in mysql -
i new mysql. have requirement, please see tables below
grand_score_master autoid | user_id | package_id | grand_level | timestamp | timestring 55 | cbs_00002 | s78c_e4vt6 | 1 | ... | ... 58 | cbs_00002 | d47kndffqc | 3 | ... | ... 64 | cbs_00002 | d47kndffqc | 1 | ... | ... 65 | cbs_00002 | d47kndffqc | 2 | ... | ... mega_score_master autoid | user_id | package_id | mega_level | timestamp | timestring 1 | cbs_00002 | d47kndffqc | 1 | ... | ... expected result user_id | package_id | max_grand_leve | max_mega_level cbs_00002 | s78c_e4vt6 | 1 | 0 cbs_00002 | d47kndffqc | 3 | 1
package_id
, user_id
in both tables.
i trying make query pass user_id 'cbs_00002' , query return max(grand_level)
, max(mega_level)
matching/grouping common package_id both table user.
i tried
select max(grand_score_master.grand_level), grand_score_master.package_id, max(mega_score_master.mega_level) grand_score_master inner join mega_score_master on mega_score_master.package_id = grand_score_master.package_id user_id='cbs_00002' group grand_score_master.package_id
but return result d47kndffqc because s78c_e4vt6 not present in mega_score_master
need help.
you're there, need change inner join
left join
; preserve rows first table, regardless of being matched in second 1 or not:
select max(t1.grand_level) max_grand_level, t1.package_id, ifnull(max(t2.mega_level), 0) max_mega_level grand_score_master t1 left join mega_score_master t2 on t2.package_id = t1.package_id t1.user_id='cbs_00002' group t1.package_id
i added aliases tables, query results bit more compact.
Comments
Post a Comment