Я написал запрос с IF()
заявление в WHERE
пункте:IF в WHERE
SELECT DISTINCT a.*, u.user_email, u.user_nicename, u.user_login, u.display_name
(
SELECT b.date_recorded
FROM wp_bp_activity as b
WHERE b.type IN ('activity_comment','activity_update')
AND IF(b.type = 'activity_comment', b.item_id, a.id) = a.id
ORDER BY b.item_id desc
limit 0,1
) as drecord
FROM wp_bp_activity as a
LEFT JOIN wp_users as u ON a.user_id = u.ID
WHERE
a.type IN ('activity_update')
order by cast(drecord as datetime) desc
limit 0,20
Но это дает ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT b.date_recorded FROM wp_bp_activity as b WHERE b.' at line 3
Что такое правильный способ использования IF
, как это?
вы пропустите запятую после u.display_name ... в первой строке. –
Не могли бы вы описать, что должно сделать это утверждение 'if'? Поскольку похоже, что он может быть заменен простым утверждением на основе логических операторов. – guessimtoolate
@guessimtoolate, с каким утверждением вы имеете в виду? – revo