2014-09-04 64 views
0

我已经创建了下面的表格:MySQL的多表连接

Table: autor 
id_autor nom_aut rfc_aut pseudo_id 
    A1  Juan Salinas 
    A3  Quijote    A7 
    A8  Sancho    A1 
    A7  Luis  LISA98439   

正如你可以看到表作者日期具有递归,自反关系。 下表是:

Table: articulo 
id_art nom_art num_pag_art 
    1 Article 1  10 
    2 Article 2  30 
    3 Article 3  20 

我想下面的表格显示,但我不能让它:

id_autor nom_aut  nom_real id_art nom_art 
    A1  Juan Salinas    1  Article 1 
    A3  Quijote  Luis  3  Article 3 

我曾尝试以下查询:

SELECT autor.id_autor as 'ID de Autor', 
autor.nom_aut as 'Nombre Autor', 
autor.nom_aut as 'Autor Real', 
articulo.id_art as 'ID de Articulo', 
articulo.nom_art as 'Nombre de Articulo' 
FROM autor.nom_aut join articulo.id_art on autor.pseudo_id=autor.id_autor 
left join autor.pseudo_id on autor.pseudo_id=autor_pseudo.id; 

但我不能让表格显示我想要的信息。

MySQL的说明:我必须使用

Error Code: 1146. Table 'autor.nom_aut' doesn't exist 

任何想法是什么样的指令? 感谢您的支持!

回答

0

你必须加入该表与它自身:

SELECT autor.id_autor as 'ID de Autor', 
autor.nom_autor as 'Nombre Autor', 
autor_pseudo.nom_aut as 'Autor Real', 
articulo.id_art as 'ID de Articulo', 
articulo.nom_art as 'Nombre de Articulo' 
FROM autor autor join articulo articulo on autor.pseudo_id=autor.id_autor 
left join autor autor_pseudo on autor.pseudo_id=autor_pseudo.id; 
+0

它显示后的错误;左连接位置。任何想法为什么?谢谢btw! – 2014-09-04 17:39:53

+0

@MichVellve对不起我的错。我编辑了我的答案 – Jens 2014-09-04 17:53:49

+0

@MichVellve对不起。 – Jens 2014-09-04 17:58:32