I have following mysql query
SELECT c.`id`
,c.`category_name`
,c.`category_type`
,c.bookmark_count
,f.category_id cat_id
,f.unfollow_at
,(CASE
WHEN c.id = f.follower_category_id THEN (SELECT count(`user_bookmarks`.`id`)
FROM `user_bookmarks`
WHERE (`user_bookmarks`.`category_id` = cat_id )
AND `user_bookmarks`.`bookmark_id` NOT IN (SELECT `bookmark_id`
FROM `user_deleted_bookmarks`
WHERE user_id = 18 )
AND ((`f`.`created_at` >= `user_bookmarks`.`created_at`)))
ELSE 0 END ) counter
, c.id
, f.follower_category_id follow_id
, c.user_id
FROM categories c
LEFT JOIN following_follower_categories f ON f.follower_category_id = c.id
WHERE c.user_id = 18
AND c.id NOT IN (SELECT `category_id`
FROM `user_deleted_categories`
WHERE `user_id` = 18 )
ORDER BY `category_name` ASC
Which is working fine in phpmyadmin. But when i am using same query in nodejs
by
var sqlnew = "SELECT c.`id`,c.`category_name`,c.`category_type` ,c.bookmark_count ,f.category_id cat_id , f.unfollow_at ,\n\
(CASE WHEN c.id = f.follower_category_id THEN (SELECT count(`user_bookmarks`.`id`) FROM `user_bookmarks` WHERE \n\
(`user_bookmarks`.`category_id` = cat_id) AND `user_bookmarks`.`bookmark_id` NOT IN (SELECT `bookmark_id` \n\
FROM `user_deleted_bookmarks` WHERE user_id = "+user_id+" ) AND ((`f`.`created_at` >= `user_bookmarks`.`created_at`))) ELSE 0 END) counter ,\n\
c.id , f.follower_category_id follow_id , c.user_id FROM categories c LEFT JOIN following_follower_categories f ON f.follower_category_id = c.id \n\
WHERE c.user_id = "+user_id+" AND c.id NOT IN (SELECT `category_id` FROM `user_deleted_categories` WHERE `user_id` = "+user_id+" ) ORDER BY `category_name` ASC";
connection.query(sqlnew, function(err, res) {
if(!err){
console.log(JSON.parse(JSON.stringify(res)));
}
});
this is showing different results to me. Any idea. i checked , i am using same database.
Thanks