[英]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.