執行查詢時出現 LIMIT 錯誤
P粉668146636
P粉668146636 2024-03-27 12:26:04
0
1
410

這就是我嘗試寫的查詢

select posts.*  ,users.* 
FROM posts
INNER JOIN users
   ON posts.user_id = users.id
   WHERE posts.user_id != '27'
   AND posts.pid EXISTS(SELECT post_id FROM favourites WHERE posts.pid=favourites.post_id)

這是錯誤

select posts.*  ,users.* 
FROM posts
INNER JOIN users
   ON posts.user_id = users.id
   WHERE posts.user_id != '27'
   AND posts.pid EXISTS(SELECT post_id FROM favourites WHERE posts.pid=favourites.post_id) LIMIT 0, 25
MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'EXISTS(SELECT post_id FROM favourites WHERE posts.pid=favourites.post_id) LIM...' at line 6

P粉668146636
P粉668146636

全部回覆(1)
P粉276876663

您必須使用 IN 而不是 ÈXISTS。

exists 的語法不同

SELECT 
    posts.*, users.*
FROM
    posts
        INNER JOIN
    users ON posts.user_id = users.id
WHERE
    posts.user_id != '27'
        AND posts.pid IN (SELECT 
            post_id
        FROM
            favourites
        WHERE
            posts.pid = favourites.post_id)
LIMIT 0 , 25

這將檢查是否有一個最喜歡的帖子 id

SELECT 
    posts.*, users.*
FROM
    posts
        INNER JOIN
    users ON posts.user_id = users.id
WHERE
    posts.user_id != '27'
        AND EXISTS (SELECT 
            post_id
        FROM
            favourites
        WHERE
            posts.pid = favourites.post_id)
LIMIT 0 , 25
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板