簡體   English   中英

如果兩個表中都不存在記錄,則從數據庫返回記錄? PDO

[英]Return records from a database if record doesnt exist in both tables? PDO

我有一個問題,似乎無法單獨谷歌搜索找出來!

我試圖從我的表中返回所有用戶,不包括當前登錄的會話用戶,我這樣做...

$stmt = $conn->prepare('SELECT *
    FROM users 
    WHERE user_id <> ? 
    AND credits_offered <= credits_bank');
$stmt->bindParam(1, $uid, PDO::PARAM_INT);
$stmt->execute(); 

我有另一個表,但在此表中名為user_friendships有3列,

id | user_id | user_followed_id

在我的查詢中,我喜歡以某種方式添加一個where子句,說如果有任何用戶返回,存在於user friendships表的user_followed_id列中,那么就不會返回它們,這是否有意義?

任何幫助將不勝感激。

以下是使用OUTER JOIN一種方法:

SELECT DISTINCT u.*
FROM users u
    LEFT JOIN user_friendships uf ON u.user_id = uf.user_followed_id
WHERE u.user_id <> ? 
   AND u.credits_offered <= credits_bank
   AND uf.user_followed_id IS NULL

暫無
暫無

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

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