Hi Arthur, Thanks for your answer and your example. Your example is very good but I can't map to what I'm trying to do. As you suggested I have to understand how inner join is implemented in MySQL. The query that I'm working on selects fields from three tables, in this way, Table_1 has columns A,B,C supplies fields ( A,B, C) Table_2 has columns A,T,U supplies fields (T,U) Table_3 has columns A,B,C,X,Y,Z supplies fields (X,Y,Z)
Table_1 and table_2 have a strange relationship with each other, one row in table_3 could match with a number of rows in table_1 if table_1.A = table_3.A and table_1.B=table_3.B and (table_1.C=table_3.C or table_3.C = "*"). That's what I can't get to work. I worked on this on MSSQL and wrote a query that does the above but I cannot find the equivalent query for it in MySQL. For I've split the query in two parts and put the results back together in my application. But I would look at DBTools and see if I can learn something from it. Thanks again for you advice. [EMAIL PROTECTED] wrote: > Once you understand the logic of joins the rest is pretty straightforward, > since in terms of execution the sequence in which you do the joins is > irrelevant. (Performance is another issue, quickly resolved by specifying > the smallest tables first.) > > Supposing that you have tables Products, Suppliers and Categories, which > Products having foreign keys referencing Suppliers and Categories... > > SELECT ProductID, ProductName, SupplierID, SupplierName, CategoryID, > CategoryName > FROM Products INNER JOIN Suppliers ON Products.SupplierID = > Suppliers.SupplierID > INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID; > > You can just keep building up such a query according to the number of tables > you need to drag into the operation. Given the above query, you may well > want to change the order of table references, but that doesn't intrude upon > the logic and unless you have a very large number of rows in one or more > tables, the performance difference will barely be noticeable. > > There are several GUI tools that let you perform multi-table selects using > drag-and-drop techniques (c.f. DBTools, IMO one of the finest, with the > added benefit that it remembers relatinships that you declare within it). > Then you can inspect the code it writes and tweak it to suit using EXPLAIN. > > hth, > Arthur > > ----- Original Message ----- > From: "damovand" <[EMAIL PROTECTED]> > To: "mysql" <[EMAIL PROTECTED]> > Sent: Thursday, October 03, 2002 12:31 PM > Subject: Is there Examples and Documents on joining tables? > > > >>Is there a document that compiles examples on different ways of joining >>two or more tables? I found a few on >>http://www.mysql.com/doc/en/JOIN.html but they do not cover joining more >>than two tables. >> >>Thanks for any suggestions. >> >> >>--------------------------------------------------------------------- >>Before posting, please check: >> http://www.mysql.com/manual.php (the manual) >> http://lists.mysql.com/ (the list archive) >> >>To request this thread, e-mail <[EMAIL PROTECTED]> >>To unsubscribe, e-mail >> > <[EMAIL PROTECTED]> > >>Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php >> >> > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php