2012-12-23 38 views
0

可能重复:
How can an SQL query return data from multiple tables进行选择在2个表只有一个SQL请求

我想了解如何做这样的事情的好英特尔: 从选择我的一切表1和我的表2,其中我的表2的id_article等于我的表1中的ID ...我试试这个:

SELECT * FROM table1 AS n, table2 AS a WHERE n.id = a.id_article 

但它没有工作......我不明白,整个过程虽然....

感谢任何线索

+1

文章[如何从多个表的SQL查询返回的数据(http://stackoverflow.com/问题/ 12475850 /何灿的-SQL查询返回的数据 - 从 - 多表)。 – DCoder

+0

定义'没有工作'。 – raina77ow

+1

尽管您使用旧的连接语法,但您的查询是绝对正确的。它怎么不起作用? –

回答

1

使用JOIN声明。

SELECT * 
    FROM table1 
    JOIN table2 
    ON table1.id = table2.id_article 

您也可以选择到底

+0

是的,感谢这个语法,我显然是晚了几年^^ –

+0

如果这个工程,那么你应该原来如此。它们是编写同一个查询的两种不同方式,你只是一个较老的语法。 – Barmar

+0

是的,但我没有任何结果...虽然没有错误...我正在寻找我的方式来捕捉结果,这显然是错误的 –

0

添加WHERE条件或者,使用查询,ANSI SQL-92的新语法格式。

SELECT a.*, b.* 
FROM table1 a 
     INNER JOIN table2 b 
      ON a.ID = b.ID_Article 

要充分了解有关连接,见下文

+0

不理会连接语法更可取的事实,我没有看到他的问题有什么问题,是吗?只是想知道如果这样做会更好,如果他没有开始工作,或者他的查询中有一个错误,我只是没有看到... –

+0

@BrandonMoore如上面我的评论中所述,查询是精细。也许OP想* OUTER JOINs *,不确定。但这个问题太不完整。 –

+1

很酷,没有看到你的评论在那里,只是想知道我是否错过了明显的东西:) –