Мне нужна небольшая помощь с моим утверждением Select. Я пытаюсь понять, как писать операторы select, используя таблицы wp_users и wp_usermeta. Я запускаю этот оператор выбора:
SELECT u.display_name, u.user_email,
ma.meta_value AS Address,
concat( '(',left(mm.meta_value,3) , ') ' , mid(mm.meta_value,4,3) , '-', right(mm.meta_value,4)) AS Mobile,
concat( '(',left(mp.meta_value,3) , ') ' , mid(mp.meta_value,4,3) , '-', right(mp.meta_value,4)) AS Phone,
mc2.meta_value AS City,
ms.meta_value AS State,
mz.meta_value AS Zip
FROM wp_users u
JOIN wp_usermeta ma ON u.ID = ma.user_id AND ma.meta_key = 'Address'
JOIN wp_usermeta mm ON u.ID = mm.user_id AND mm.meta_key = 'mobile_number'
JOIN wp_usermeta mp ON u.ID = mp.user_id AND mp.meta_key = 'phone_number'
JOIN wp_usermeta mc2 ON u.ID = mc2.user_id AND mc2.meta_key = 'user_city'
JOIN wp_usermeta ms ON u.ID = ms.user_id AND ms.meta_key = 'user_state'
JOIN wp_usermeta mz ON u.ID = mz.user_id AND mz.meta_key = 'user_zip'
WHERE u.id = $user_id
Если поле phone_number не заполнено, оператор возвращает без строк, если я добавляю номер телефона в поле, оно работает. Как получить запрос на возврат результатов независимо от того, являются ли какие-либо из полей, не являющихся обязательными, пустыми?
Я рассмотрел вопрос "Advanced Wordpress SQL Query", и это было не то же самое. 2-й вопрос, есть ли места, где я могу научиться лучше писать запросы, используя таблицу WordPress wp_usermeta?