我把这两个queriess列为单独的,但现在我需要在同一个列表中的结果.
现在我通过使用javascript按id排序项目来“修复”它.但是从服务器合并这些数据会很棒,所以我可以分页结果.
数据库模式
表朋友:
表有帮助
查询A(返回当前用户的结果)
$sql = 'SELECT * FROM helps WHERE id_user ='.$value;
查询B(返回当前用户朋友的结果)
$sql = 'SELECT
h.*,
f.*
FROM (
SELECT
id AS friendsId,
CASE followerid WHEN '.$value.' THEN followingid ELSE followerid END AS friend_id
FROM friends
WHERE acepted = 1
AND (followerid = '.$value.' OR followingid = '.$value.')
) AS f
INNER JOIN helps AS h ON h.id_user = f.friend_id
ORDER BY h.id DESC';
有没有办法合并这些查询?老实说,我不知道怎么做.
-编辑-
考虑结合,但我不知道如何处理订单的事情..
$sql = '(SELECT * FROM helps WHERE id_user = '.$value.')
UNION
(SELECT
h.*,
f.*
FROM (
SELECT
id AS friendsId,
CASE followerid WHEN '.$value.' THEN followingid ELSE followerid END AS friend_id
FROM friends
WHERE acepted = 1
AND (followerid = '.$value.' OR followingid = '.$value.')
) AS f
INNER JOIN helps AS h ON h.id_user = f.friend_id
ORDER BY h.id DESC)';
正如您在第二个查询中看到的,帮助表已重命名为h.我怎么能在第一次做同样的事情? (两个查询都以相同的格式返回数据)