2014-09-04 105 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