LIMIT error when executing query
P粉668146636
P粉668146636 2024-03-27 12:26:04
0
1
354

This is the query I tried to write

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)

This is an error

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

reply all(1)
P粉276876663

You must use IN instead of ÈXISTS.

The syntax of exists is different

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

This will check if there is a favorite post 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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!