Thread
-
Help with outer joins
Tchouante, Merlin <mtchouan@umaryland.edu> — 2019-11-08T16:55:33Z
Hello group, I'm trying to convert the select statement below to work with postgresql but having some issues with the outer joins '(+)' written for Oracle SQL: select u.user_id,cm.course_id,gm.title,gt.name,a.attempt_date,a.grade, a.score,gm.possible,gm.visible_ind, (select count(*) from bblearn.attempt aa where aa.gradebook_grade_pk1 = gg.pk1) number_of_attempts, gg.manual_grade, gg.manual_score, gg.last_override_date from gradebook_main gm, course_main cm, users u, course_users cu, gradebook_type gt, gradebook_grade gg,.attempt a where gm.crsmain_pk1 = cm.pk1 and cu.crsmain_pk1 = cm.pk1 and cu.users_pk1 = u.pk1 and cm.course_id = 'Org.dent.Training' and gm.gradebook_type_pk1 = gt.pk1 (+) and gm.deleted_ind = 'N' and gm.pk1 = gg.gradebook_main_pk1 and cu.pk1 = gg.course_users_pk1 and a.gradebook_grade_pk1(+) = gg.pk1 and a.pk1(+) = gg.highest_attempt_pk1 order by u.user_id, gm.title; psql:/export/home/bbuser/banner/gradeload/test2.sql:20: ERROR: syntax error at or near ")" LINE 11: and gm.gradebook_type_pk1 = gt.pk1 (+) ^ I had tried using 'left outer join' but got different results when doing for multiple tables. This is what I came up with, but the count is off. I get 32,392 instead of 36,594 (Oracle SQL): select count(u.user_id) from course_main cm, users u, course_users cu, attempt a left join gradebook_grade gg on a.gradebook_grade_pk1 = gg.pk1 and a.pk1 = gg.highest_attempt_pk1, gradebook_type gt right join gradebook_main gm on gm.gradebook_type_pk1 = gt.pk1 where gm.crsmain_pk1 = cm.pk1 and cu.crsmain_pk1 = cm.pk1 and cu.users_pk1 = u.pk1 and cm.course_id = 'restore_org.dent.training' and gm.deleted_ind = 'N' and gm.pk1 = gg.gradebook_main_pk1 and cu.pk1 = gg.course_users_pk1; Any assistance is greatly appreciated. Thanks, -- Merlin Merlin D. Tchouante, Sr. IT Enterprise Application Developer Center for Information Technology Services (CITS) 601 West Lombard Street Baltimore, Maryland 21201-1512 mtchouan@umaryland.edu<mailto:mtchouan@umaryland.edu> 410-706-4489 * 410-706-1500 fax Please send Blackboard questions to the CITS support email address: DL-CITSBbSupport@umaryland.edu<mailto:dl-citsbbsupport@umaryland.edu> Please send Mediasite questions to the CITS support email address: DL-CITSMediasiteSupport@umaryland.edu<mailto:DL-CITSMediasiteSupport@umaryland.edu> [New UMB Logo] -
RE: Help with outer joins
Tchouante, Merlin <mtchouan@umaryland.edu> — 2019-11-11T15:21:54Z
Never mind, I figured it out. Thanks, -- Merlin Merlin D. Tchouante, Sr. IT Enterprise Application Developer Center for Information Technology Services (CITS) 601 West Lombard Street Baltimore, Maryland 21201-1512 mtchouan@umaryland.edu<mailto:mtchouan@umaryland.edu> 410-706-4489 * 410-706-1500 fax Please send Blackboard questions to the CITS support email address: DL-CITSBbSupport@umaryland.edu<mailto:dl-citsbbsupport@umaryland.edu> Please send Mediasite questions to the CITS support email address: DL-CITSMediasiteSupport@umaryland.edu<mailto:DL-CITSMediasiteSupport@umaryland.edu> [New UMB Logo] From: Tchouante, Merlin Sent: Friday, November 8, 2019 11:56 AM To: pgsql-sql@lists.postgresql.org Subject: Help with outer joins Hello group, I'm trying to convert the select statement below to work with postgresql but having some issues with the outer joins '(+)' written for Oracle SQL: select u.user_id,cm.course_id,gm.title,gt.name,a.attempt_date,a.grade, a.score,gm.possible,gm.visible_ind, (select count(*) from bblearn.attempt aa where aa.gradebook_grade_pk1 = gg.pk1) number_of_attempts, gg.manual_grade, gg.manual_score, gg.last_override_date from gradebook_main gm, course_main cm, users u, course_users cu, gradebook_type gt, gradebook_grade gg,.attempt a where gm.crsmain_pk1 = cm.pk1 and cu.crsmain_pk1 = cm.pk1 and cu.users_pk1 = u.pk1 and cm.course_id = 'Org.dent.Training' and gm.gradebook_type_pk1 = gt.pk1 (+) and gm.deleted_ind = 'N' and gm.pk1 = gg.gradebook_main_pk1 and cu.pk1 = gg.course_users_pk1 and a.gradebook_grade_pk1(+) = gg.pk1 and a.pk1(+) = gg.highest_attempt_pk1 order by u.user_id, gm.title; psql:/export/home/bbuser/banner/gradeload/test2.sql:20: ERROR: syntax error at or near ")" LINE 11: and gm.gradebook_type_pk1 = gt.pk1 (+) ^ I had tried using 'left outer join' but got different results when doing for multiple tables. This is what I came up with, but the count is off. I get 32,392 instead of 36,594 (Oracle SQL): select count(u.user_id) from course_main cm, users u, course_users cu, attempt a left join gradebook_grade gg on a.gradebook_grade_pk1 = gg.pk1 and a.pk1 = gg.highest_attempt_pk1, gradebook_type gt right join gradebook_main gm on gm.gradebook_type_pk1 = gt.pk1 where gm.crsmain_pk1 = cm.pk1 and cu.crsmain_pk1 = cm.pk1 and cu.users_pk1 = u.pk1 and cm.course_id = 'restore_org.dent.training' and gm.deleted_ind = 'N' and gm.pk1 = gg.gradebook_main_pk1 and cu.pk1 = gg.course_users_pk1; Any assistance is greatly appreciated. Thanks, -- Merlin Merlin D. Tchouante, Sr. IT Enterprise Application Developer Center for Information Technology Services (CITS) 601 West Lombard Street Baltimore, Maryland 21201-1512 mtchouan@umaryland.edu<mailto:mtchouan@umaryland.edu> 410-706-4489 * 410-706-1500 fax Please send Blackboard questions to the CITS support email address: DL-CITSBbSupport@umaryland.edu<mailto:dl-citsbbsupport@umaryland.edu> Please send Mediasite questions to the CITS support email address: DL-CITSMediasiteSupport@umaryland.edu<mailto:DL-CITSMediasiteSupport@umaryland.edu> [New UMB Logo]