php - Mysql查询和条件where子句

使用php和mysql,我试图获得所有涉及实际用户的私有聊天。
为此,我有一个名为“房间”(id,id_initiate_user,id_target_user)的表和另一个名为“用户”(id_pseudo,avatar)的表。
如果实际用户是聊天室的发起用户,我想从目标用户那里获取虚拟形象和伪用户,如果实际用户是那个聊天室的目标用户,我想从发起用户那里获取虚拟形象和伪用户(无论情况如何,我都希望其他成员的虚拟形象和伪用户)
我想我需要在我的查询条件,但我真的不知道如何管理它(谷歌整天)。
这是我的查询(逻辑是存在的,但语法显然是错误的:

$user_id=$_SESSION['user_id'];

$res = @mysql_query("
SELECT rooms.id, rooms.id_initiate_user, rooms.id_target_user, rooms.pv, users.id, users.pseudo, users.avatar 
FROM rooms, users 
WHERE 
(
    (rooms.id_initiate_user='$user_id' OR rooms.id_target_user='$user_id') 
    AND  
    (
        IF (rooms.id_initiate_user='$user_id')
        THEN rooms.id_target_user=users.id
        ELSE rooms.id_initiate_user=users.id;
        END IF;
    )
) ORDER BY rooms.id ASC");

我在这里读到了很多关于“条件在哪里”的问题,但没有一个能解决我的问题。
谢谢你的帮助。

最佳答案

你不能这样做吗:

WHERE 
(
    (
        rooms.id_initiate_user='$user_id'
        AND rooms.id_target_user=users.id
    )
    OR
    (
        rooms.id_target_user='$user_id'
        AND rooms.id_initiate_user=users.id
    )
)