Я, наверное, все испортил.Но у меня есть система WordPress, где я пытаюсь создать экспорт конкретных пользовательских данных в MySQL.Я ожидаю, что метаданные вернут NULL
, если строка не существует, но вместо этого кажется, что она действует как предел.Если какие-либо из метаданных не существуют, весь пользователь опускается.
SELECT
users.ID,
users.user_email,
_first.meta_value as firstName,
_second.meta_value as lastName,
users.display_name,
_gender.meta_value as gender,
_age.meta_value as age,
_nationality.meta_value as nationality
FROM kp_users
LEFT JOIN usermeta as _first ON kp_users.id = _first.user_id
LEFT JOIN usermeta as _second ON kp_users.id = _second.user_id
LEFT JOIN usermeta as _gender ON kp_users.id = _gender.user_id
LEFT JOIN usermeta as _age ON kp_users.id = _age.user_id
LEFT JOIN usermeta as _nationality ON kp_users.id = _nationality.user_id
WHERE
_first.meta_key = 'first_name' AND
_second.meta_key = 'last_name' AND
_gender.meta_key = '_user_demographics_gender' AND
_age.meta_key = '_user_demographics_age' AND
_nationality.meta_key = '_user_demographics_nationality'
Итак, для строк метаданных, где, скажем, строка _user_demographics_age
не существует, весь пользователь исключается из окончательного набора результатов, и я не могу понять, почему,