2011-08-18 106 views
0

我有2个表格:Help with MySQL JOIN语句

表A是一个类别表。列是cid, catname

表B是关系表。列是cid, parentparent是另一个cid)。

这里就是我至今:

"SELECT c.cid, c.catname AS catname, r.parent AS parent FROM tableA AS c JOIN tableB AS r ON r.cid=c.cid"; 

我知道我会得到3列(2从tableA,一个来自tableB),但我也想在tableA如果从parentcatname值我是做了第二次查询时,它看起来像这样(假设我们把结果变成$row变量):

"SELECT catname FROM tableA WHERE cid='".$row['parent']."'"; 

这样我可以显示为文本。

我要添加什么,以及在哪里?是否有第二个JOIN

回答

2

您可以加入一个表多次:

SELECT a.cid AS acid, a.catname AS aname, 
     b.cid AS bcid, b.catname AS bname 
FROM relationships AS r 
    JOIN categories AS a ON (r.cid = a.cid) 
    JOIN categories AS b ON (r.parent = b.cid) 
+0

谢谢!我不相信我真的明白你是怎么做到的。我必须学习一些东西:) –