How can I join 7 tables where the column (which exists in all tables) is equal to the same content in all tables?

I saw how an inner join 2 of a table where the column is equal to the content in the other column. but how do I do this with 7 tables?

Thanks everyone, I figured it out after a long time. this seems to work

SELECT *
FROM
  tbl_school
  INNER JOIN tbl_apprequirments ON (tbl_school.schoolname = tbl_apprequirments.schoolname)
  INNER JOIN tbl_citygallery ON (tbl_apprequirments.schoolname = tbl_citygallery.schoolname)
  INNER JOIN tbl_schoolgallery ON (tbl_citygallery.schoolname = tbl_schoolgallery.schoolname)
  INNER JOIN tbl_livingexp ON (tbl_schoolgallery.schoolname = tbl_livingexp.schoolname)
  INNER JOIN tbl_tuition ON (tbl_livingexp.schoolname = tbl_tuition.schoolname)

  where tbl_school.schoolname = 'glendale community college';

      

0


a source to share


3 answers


SELECT * FROM t1 JOIN t2 JOIN t3 JOIN t4 JOIN t5
  ON (t2.c=t1.c AND t3.c=t1.c AND t4.c=t1.c AND t5.c=t1.c)

      

MySQL provides a shortcut for this:

SELECT * FROM t1 JOIN (t2, t3, t4, t5)
  ON (t2.c=t1.c AND t3.c=t1.c AND t4.c=t1.c AND t5.c=t1.c)

      

This example is for 5 tables. You can repeat as needed.



See MySQL join syntax .

Edit: After seeing the clarification from sarmenhb, I think this query also works:

SELECT * FROM t1 JOIN (t2, t3, t4, t5, t6, t7)
  USING (schoolname)
  WHERE t1.schoolname = 'name'

      

+3


a source


After connecting the two of them, connect the thrid to the first two, then 4 to 3, etc.



  Select *
   From T1 Join T2 On  <criteria>
           Join T3, on <criteria>
           Join T4 On <Criteria>
            etc... 

      

+1


a source


Try something like this ...

Select data
from table as tbl1
join as tbl2 on tbl2.data = tbl1.data
join as tbl3 on tbl3.data = tbl1.data

      

is this what you are looking for?

0


a source







All Articles