我正在尝试进行查询,以选择来自特定用户和该用户的所有 friend 的所有消息。这个查询几乎可以工作,但第一部分会导致问题,因为它最终选择了“ friend ”中的所有行。我在想我需要使用某种 JOIN 才能根据需要使用它,但我没有足够的 JOINS 经验,在试验了一个多小时后无法完成这项工作。
SELECT a.*
FROM messages a, friends b
WHERE a.username = '$user' OR b.username = '$user' && b.friend = a.username
ORDER BY a.id DESC
LIMIT 5
最佳答案
也许这样的事情会起作用:
SELECT m.*
FROM messages m
LEFT JOIN friends f
ON m.username = f.username
WHERE m.username = "$user"
OR f.friend = "$user"
关于mysql - 我将如何修复此多表查询以仅选择所需的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772391/