我看过其他问题和答案,但仍然不明白是什么让我来到这里。
我有一个数据库两个表。让我们说数据库中的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每行打乒乓而已
答案 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