使用My SQL连接

时间:2014-02-07 15:48:17

标签: php mysql sql

我无法完成MySQL JOIN。我不确定查询最后一部分的语法。

我的查询:

$posts_query= "
SELECT *
FROM posts p
JOIN relations r ON p.user_id = r.recipient
WHERE (r.status = 1 OR r.status = 2)
AND (r.sender = '".$user_id."' OR p.user_id = '".$user_id."')


// How do I write this part?
AND skip where r.status = 1 and p.privacy = 2 where p.user_id != $user_id // 

ORDER BY p.post_id DESC;
";

2 个答案:

答案 0 :(得分:2)

使用NOT:

,而不是'skip',只需设置它以使值不为true
SELECT *
FROM posts p
JOIN relations r ON p.user_id = r.recipient
WHERE (r.status = 1 OR r.status = 2)
AND (r.sender = '$user_id' OR p.user_id = '$user_id')
AND NOT (r.status = 1 AND p.privacy = 2 AND p.user_id != '$user_id')
ORDER BY p.post_id DESC;"

答案 1 :(得分:1)

SELECT *
FROM posts p
JOIN relations r ON p.user_id = r.recipient
WHERE r.status in (1,2)
AND (r.sender = '$user_id' OR p.user_id = '$user_id')
AND NOT ( r.status = 1 and p.privacy = 2 AND p.user_id != '$user_id' )
ORDER BY p.post_id DESC;