2012-05-29 1 views
1

Я пытаюсь найти базу данных Wordpress для списка пользователей, которые 1) имеют определенную возможность и 2) зарегистрированы более 24 часов назад.Как я могу запросить MySQL Wordpress для списка пользователей, у которых есть определенная meta_value и дневная дата регистрации?

Для части 1 я написал этот запрос для выделения определенного типа пользователей.

$querystr ="SELECT user_id, meta_value FROM wp_usermeta WHERE meta_value LIKE '%s2member_level5%'"; 

Тогда для части 2, я начал писать этот запрос для проверки учетных записей пользователей Wordpress, которые были день и старше. (Я не думаю, что я делаю это правильно.)

$agingstr ="SELECT ID, user_registered FROM wp_users WHERE datediff(now(),`user_registered`)>=1"; 

Моя цель состоит в том, чтобы объединить два, с помощью ключа user_id, и предоставляя нам список, который удовлетворяет обоим критериям.

Желаемый список будет иметь форму ключей идентификатора пользователя, которые отвечают обоим критериям в обеих таблицах.

Любая помощь очень ценится.

(я знаю, что это неудачная модель EAV, но мы застряли с ним из-за природы Wordpress.)

ответ

2

запрос, чтобы выбрать пользователей, которые были зарегистрированы в течение более 24 часов:

SELECT user_id, user_registered 
FROM wp_users 
WHERE user_registered < NOW() - INTERVAL 24 HOUR 

Чтобы объединить запросы:

SELECT user_id, wp_usermeta.meta_value, wp_users.user_registered 
FROM wp_usermeta JOIN wp_users USING (user_id) 
WHERE wp_usermeta.meta_value LIKE '%s2member_level5%' 
    AND wp_users.user_registered < NOW() - INTERVAL 24 HOUR 
+0

Спасибо! Очень признателен. –

+0

@ Dr.PaulRuth Тогда вы можете рассмотреть [это] (http://stackoverflow.com/help/accepted-answer). – pnuts