Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Try something like this:</p> <pre><code> re1.re_mark AS english_2008, re2.re_mark AS maths_2008, re3.re_mark AS english_2009, re4.re_mark AS maths_2009, isc.isc_g_gpa AS isc_gpa FROM si_student_data AS s INNER JOIN si_results as re1 ON re1.re_code LIKE 'FEEN%' AND re1.re_year = '2008' AND re1.re_semester = '2' AND re1.re_nric = s.s_nric INNER JOIN si_results as re2 ON re2.re_code LIKE 'FEMA%' AND re2.re_year = '2008' AND re2.re_semester = '2' AND re2.re_nric = s.s_nric INNER JOIN si_results as re3 ON re3.re_code LIKE 'FEEN%' AND re3.re_year = '2009' AND re3.re_semester = '2' AND re3.re_nric = s.s_nric INNER JOIN si_results as re4 ON re4.re_code LIKE 'FEMA%' AND re4.re_year = '2009' AND re4.re_semester = '2' AND re4.re_nric = s.s_nric </code></pre> <p>Replace INNER JOIN with LEFT JOIN if needed</p> <p>If this solution is still not enough two more options:</p> <ul> <li><p>Use Views (1 for each condition you have)</p> <p>CREATE VIEW FEEN2008 AS SELECT re_mark, re_nric FROM si_results as re WHERE re.re_code LIKE 'FEEN%' AND re.re_year = '2008' AND re.re_semester = '2'</p> <p>and replace original query with something like:</p> <pre><code> FROM si_student_data AS s INNER JOIN FEEN2008 as re1 ON re1.re_nric = s.s_nric INNER JOIN FEMA2008 as re2 ON re2.re_nric = s.s_nric INNER JOIN FEEN2009 as re3 ON re3.re_nric = s.s_nric INNER JOIN FEMA2009 as re4 ON re4.re_nric = s.s_nric </code></pre> <p>Database engines usually optimize views and it may be faster. Not sure how MySql work with them though.</p></li> <li><p>Create an index in si_results using fields: re_code, re_year, re_semester and re_nric Beware this will make inserts and updates slower.</p></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload