2011-04-25 50 views
2

如何连接三个具有一个公共列(id)的mysql表,例如,从Table1中选择a,b,从table2中选择c,d,从table3中选择e,f,其中id = X 感谢mysql join 3表

回答

2
SELECT `table1`.`a`,`table2`.`c` ..... 
FROM `table1` JOIN `table2` USING(`id`) JOIN `table3` USING(`id`) 
WHERE `id` = x 
2
SELECT t1.a, t1.b, t2.c, t2.d, t3.e, t3.f 
    FROM table1 t1, table2 t2, table3 t3 
WHERE t1.id = t2.id 
    AND t2.id = t3.id 
    AND t3.id = x 
3
SELECT t1.a, t1.b, t2.c, t2.d, t3.e, t3.f 
FROM `table1` t1 
JOIN `table2` t2 ON t1.id = t2.id 
JOIN `table3` t3 ON t1.id = t3.id 
WHERE t1.id = x 
9
SELECT t1.a, t1.b, t2.c, t2.d, t3.e, t3.f 
    FROM table1 t1 
    JOIN table2 t2 ON (t1.id = t2.id) 
    JOIN table3 t3 ON (t1.id = t3.id) 
    ORDER BY t1.id; 
0
SELECT col1,col2,col3 (select any col from any table) 
FROM t1 INNER JOIN t2,t3 
WHERE t1.id = t2.id 
AND t1.id = t3.id; 
0

请尝试此查询:

SELECT product_details.product_id, product_name.pro_name,categories.cat_name 
     FROM product_details 
     INNER JOIN product_name 
     ON product_details.product_id=product_name.id INNER JOIN categories ON product_details.categories_id=categories.id order by product_details.id; 
+0

请使用'{}'格式化代码。 – codeforester 2017-02-03 05:37:36