如何在SQL中组合两个查询的结果?

时间:2014-02-03 00:11:38

标签: php mysql sql

如果我不理解简单的事情,那就太糟糕了,因为我刚刚开始编写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中组合这两个查询的结果?

2 个答案:

答案 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'
相关问题