簡體   English   中英

帶OR子句的SQL查詢

[英]SQL Query with OR-Clause

我有兩個表,我要根據查詢查詢合並並從其中一個表中獲取數據。

我的SQL查詢:(這不起作用)

SELECT *
FROM contacts
    INNER JOIN users
    (ON contacts.user_id_sender = users.id
    WHERE contacts.user_id_sender = '$user_id' AND contacts.status = 1)
        OR
    (ON contacts.user_id_receiver = users.id
    WHERE contacts.user_id_receiver = '$user_id' AND contacts.status = 1)

基本上,我有一個類需要返回“用戶”,其中的“聯系人”是用戶ID的一部分,狀態為1。

其背后的想法是一個“聯系人/朋友”系統表。 我基本上有一個“用戶和聯系人”表,並且我需要返回“用戶”數據,具體取決於哪個聯系人與我們的用戶ID有關。

ON中的()括號放置不正確+不允許在ON子句中使用WHERE語句。 這看起來像您寫的內容,但是在語法上起作用:

SELECT *
FROM contacts
INNER JOIN users
ON (contacts.user_id_sender = users.id 
     AND contacts.user_id_sender = '$user_id' 
     AND contacts.status = 1)
    OR
(contacts.user_id_receiver = users.id
AND contacts.user_id_receiver = '$user_id' AND contacts.status = 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM