从mysql表中选择数据并从另一个表中获取相关数据以加入它们

时间:2012-04-11 20:10:30

标签: php mysql

我看过其他问题和答案,但仍然不明白是什么让我来到这里。

我有一个数据库两个表。让我们说数据库中的table1和table2。

我希望从table1中获取所有信息,并且只能从table2中获取与table1中正确行重合的一列。

我知道的例子是错误的:

SELECT table1.*, table2.time_stamp FROM table1, table2 
    WHERE table1.ticket_id=$var AND table1.user_id = table2.user_id

基本上从table1中选择数据然后使用所选表中的值从table2中获取相关数据并将它们连接起来,将它们作为一个mysql_query输出。我确定它很简单并且之前已被问过。

编辑:

我没有收到错误。 SQL只是返回注意。日志形式如下:

$sqlResults = mysql_query("SELECT table1.* FROM table1 WHERE table1.ticket_id=$var")

while($rowResult = mysql_fetch_array( $sqlResults )) {

$userID = $rowResult['user_id'];

$sqlResults2 = mysql_query("SELECT table2.time_stamp FROM table2 
    WHERE table2.user_id=$userID")

}

我想将它合并到一个sql语句中,所以我不必为table1每行打乒乓而已

1 个答案:

答案 0 :(得分:2)

使用JOIN将table2中的行绑定到table1中的行:

SELECT t1.*, t2.time_stamp FROM table1 t1 
JOIN table2 t2 ON t1.user_id = t2.user_id
WHERE t1.ticket_id=$var