Я делаю несколько запросов к базе данных на Wordpress. Я присоединяюсь к таблице usermeta и таблице users.
таблица пользователей имеет одну строку для каждого пользователя.
таблица usermeta имеет несколько строк для каждого пользователя, так как «meta_keys» (категории метаданных каждого пользователя) может содержать все виды информации.
В запросе я хотел бы создать результирующий набор, содержащий только одну строку для каждого пользователя и дополнительные столбцы для выбранных значений meta_key.
например. наличие дополнительных столбцов с псевдонимом - он должен показывать содержимое usermeta.meta_value, когда usermeta.meta_keys = 'nickname'.
Вот мой текущий запрос с нежелательным дублированием строк
SELECT
wusers.ID,
wusers.user_login,
wusers.display_name,
wmeta.meta_key,
wmeta.meta_value,
wmeta.user_id
FROM
$wpdb->users wusers
INNER JOIN $wpdb->usermeta wmeta ON wusers.ID = wmeta.user_id
WHERE 1 = 1
AND wmeta.meta_key = 'nickname'
OR wmeta.meta_key = 'description'
OR wmeta.meta_key = 'userphoto_thumb_file'
Есть ли какая-нибудь магия MySQL, которую я могу использовать, чтобы превратить данные определенных строк в новые "виртуальные" столбцы?