我有两个表,我正在尝试检索对应于第一个表的max(id)(递增)和第二个表的用户ID的线程ID。 在sql语句中,我已经连接了表并尝试检索列,但是收到多行,我不确定为什么。 我放置了一个示例用户 ID 1,我预计只检索一行,其值应为 85。
用拼出的话来说,我想从表 1 中获取对应于表 2 user_id和表 1 的最大 id 的线程 id。
我在下面有小提琴。
http://sqlfiddle.com/#!9/8a7d5d/56
试一试:
SELECT
$table_messages.thread_id
FROM
$table_messages
RIGHT JOIN
$table_recipients ON $table_messages.thread_id = $table_recipients.thread_id
WHERE
user_id = 1
order by $table_messages.id DESC
Limit 0,1;
在最后一行中,您有以下SELECT
语句:
(SELECT MAX($table_messages.id))
但是,您尚未指定要从哪个表获取此值。将此语句更改为:
(SELECT MAX($table_messages.id) FROM $table_messages)
这现在应该返回一行。