表1 用户,城市
表2 用户,朋友
我想select * from Table1
为一个特定用户及其所有朋友(他们也是Table1中的用户)。
尝试了这一点,它找到了所有数据但为WHERE Table1.user = '$user'
提供了多行,即使每个用户名都是唯一的。
SELECT *
FROM Table1, Table2
WHERE Table1.user = '$user'
OR
(Table2.user = '$user' and Table2.friends = Table1.user)
非常感谢
答案 0 :(得分:2)
您基本上有两个不同的查询(选择用户1的信息,选择用户1的朋友信息)。您可以将它们与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'