我的mysql表from_id
和to_id
中有两个字段
SELECT * FROM `messages`
WHERE (`from_id` = $user1_id AND `to_id` = $user2_id) OR
(`from_id` = $user2_id AND `to_id` = $user1_id)
但这有点奇怪,有没有办法让一个查询更皇家?
就像我想要我发送的所有信息和那些发送给我的
您可以使用UNION ALL
:
SELECT *
FROM `messages`
WHERE `from_id` = $user1_id AND `to_id` = $user2_id
UNION ALL
SELECT *
FROM `messages`
WHERE `from_id` = $user2_id AND `to_id` = $user1_id;
或者:
SELECT *
FROM messages
WHERE (`from_id`, `to_id`) IN (($user1_id,$user2_id),($user2_id,$user1_id))