如果我不理解简单的事情,那就太糟糕了,因为我刚刚开始编写SQL查询。
我有两个问题:
SELECT * FROM status WHERE author IN(SELECT user1 FROM friends WHERE user2 ='$ username'并接受='1')或作者IN(SELECT user2 FROM friends WHERE user1 ='$ username'AND accepted ='1')
和
SELECT * FROM status WHERE author ='$ username'
如何在SQL查询中本地或在PHP中组合这两个查询的结果?
答案 0 :(得分:4)
尝试UNION
:
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
要允许重复值,请将ALL
关键字与UNION一起使用。
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
答案 1 :(得分:1)
仅使用OR
有什么问题?
SELECT *
FROM status
WHERE author IN (SELECT user1 FROM friends WHERE user2='$username' AND accepted='1')
OR author IN (SELECT user2 FROM friends WHERE user1='$username' AND accepted='1')
OR author = '$username'