Mysql JOIN of four tables with two key tables -


i hate admit knowledge of mysql lacking when comes more complex queries. have 4 tables 2 of them contain data want return, , 2 relational tables linking data. table a present provide filler table d.aid.

+--------+ +--------+ +--------+ +-----------+ +-----------+ |table | |table b | |table c | |  table d  | |  table e  | +---+----+ +---+----+ +---+----+ +---+---+---+ +---+---+---+ |aid|name| |bid|name| |cid|name| |did|aid|bid| |eid|did|cid| +---+----+ +---+----+ +---+----+ +---+---+---+ +---+---+---+ | 1 | a_1| | 1 | b_1| | 1 | c_1| | 1 | 1 | 1 | | 1 | 1 | 1 | +---+----+ | 2 | b_2| | 2 | c_2| | 2 | 1 | 2 | | 1 | 1 | 2 |            +---+----+ | 3 | c_3| +---+---+---+ +---+---+---+                       +---+----+ 

the relationship created these tables is: table > table b > table c. data wanting belongs table b > table c relationship.

+--------+---------+--------+---------+ |tblb.bid|tblb.name|tblc.cid|tblc.name| +--------+---------+--------+---------+ |    1   |    a_1  |    1   |   c_1   | |    1   |    a_1  |    2   |   c_2   | |    2   |    a_2  |  null  |   null  | +--------+---------+--------+---------+ 

however ensure following correct path need grab table b of table > table b relationship table c belongs to. realize making things more difficult myself allowing duplicate name values, rather have small tables , more complex queries bloated tables , simpler queries. query using is

select * `table e` left join `table d` on (`table b`.bid = `table d`.bid) right join `table e` on (`table d`.did = `table e`.did)) right join `table c` on (`table e.cid = `table c`.cid); 

however far has not worked. when query submitted error returned:

error 1066 (42000): not unique table/alias: 'table d' 

any ideas on how can work? possible?

the query submitting bears little resemblance table structure have given us! table d.national_regionid? or modx.coverage_state?

generally though don't mix left , right joins. every table used in query must either follow from or follow join. seem using table b , table c in join conditions without ever adding them query.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -