表1 用户,城市
表2 用户、 friend
我想为一个特定用户及其所有 friend (也是表 1 中的用户)从 Table1 选择 *
。
尝试此操作,它找到了所有数据,但为 WHERE Table1.user = '$user'
提供了多行,即使每个用户名都是唯一的。
SELECT *
FROM Table1, Table2
WHERE Table1.user = '$user'
OR
(Table2.user = '$user' and Table2.friends = Table1.user)
非常感谢
最佳答案
您实际上有两个不同的查询(选择用户 1 的信息,选择用户 1 的 friend 的信息)。您可以将它们与 UNION 结合起来。
SELECT
table1.user,
table1.city
FROM
table1
INNER JOIN
table2
ON
table1.user = table2.friends
WHERE
table2.friends = '$user'
UNION
SELECT
user,
city
FROM
table1
WHERE
user = '$user'
关于mysql - 根据另一个表中的字段进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851764/