MySQL Select, где в смешивании с другим заполнителемMySql

Форум по Mysql
Ответить
Anonymous
 MySQL Select, где в смешивании с другим заполнителем

Сообщение Anonymous »

Этот запрос действителен и возвращает ожидаемые результаты: < /p>
$arr = [7,1];//dynamic
$vids = explode(',',$arr);
$in = implode(',', array_fill(0, count($ids), '%d'));

$stmt = $wpdb->prepare("
SELECT mt.id, mt.title, mt.options, COUNT(DISTINCT ct.id) as comment_count, COUNT(DISTINCT lt.id) as like_count
FROM $media_table as mt
LEFT JOIN $comments_table ct ON ct.media_id = mt.id
LEFT JOIN $like_table lt ON lt.media_id = mt.id
WHERE mt.id IN ($in)
GROUP BY mt.id
ORDER BY $sortOrder $sortDirection", $vids);
< /code>
Если я print_r ($ stmt), если скажу: < /p>
"SELECT mt.id, mt.title, mt.options, COUNT(DISTINCT ct.id) as comment_count, COUNT(DISTINCT lt.id) as like_count FROM wp_mvp_reel_media as mt LEFT JOIN wp_mvp_reel_comments ct ON ct.media_id = mt.id LEFT JOIN wp_mvp_reel_like lt ON lt.media_id = mt.id WHERE mt.id IN (7,1) GROUP BY mt.id ORDER BY order_id ASC"
< /code>
Почему следующий запрос не удается?$stmt = $wpdb->prepare("
SELECT mt.id, mt.title, mt.options, COUNT(DISTINCT ct.id) as comment_count, COUNT(DISTINCT lt.id) as like_count, MAX(lt.user_id = %d) AS user_liked
FROM $media_table as mt
LEFT JOIN $comments_table ct ON ct.media_id = mt.id
LEFT JOIN $like_table lt ON lt.media_id = mt.id
WHERE mt.id IN ($in)
GROUP BY mt.id
ORDER BY $sortOrder $sortDirection", $user_id, $vids);


Подробнее здесь: https://stackoverflow.com/questions/795 ... laceholder
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»