У меня есть две таблицы в базе данных wordpress. Одна таблица «пользователей» и содержит столбцы: ID, user_url, user_emailJOIN две таблицы (нужно конкатенировать)
мне нужно присоединиться к этому ко второй таблице «usermeta», которая содержит столбцы: user_id, meta_key, meta_value но необходимо иметь строки сначала конкатенируются.
user_id meta_key meta_value
1 first_name Joe
1 last_name Smith
2 first_name Jane
2 last_name Doe
должен стать
user_id meta_key meta_value
1 first_name,last_name Joe,Smith
2 first_name,last_name Jane,Doe
Я был в состоянии присоединиться к таблицам с помощью:
$result = mysql_query("SELECT * FROM users
INNER JOIN usermeta ON usermeta.user_id = users.ID
GROUP BY usermeta.user_id");
Однако при печати/вторя результатов, «эхо $ строки [ 'meta_value «];» возвращает только первую строку для данного идентификатора.
Если я не группируют его, я в конечном итоге с несколькими строками для каждого user_id
я могу сделать конкатенации работу с помощью:
$result = mysql_query("SELECT user_id, GROUP_CONCAT(meta_value) AS Customer_Address
FROM usermeta
WHERE usermeta.meta_key='first_name'
or usermeta.meta_key='last_name'
or usermeta.meta_key='paupress_address_one_1'
or usermeta.meta_key='paupress_address_city_1'
or usermeta.meta_key='paupress_address_state_1'
or usermeta.meta_key='paupress_address_postal_code_1'
or usermeta.meta_key='user_type'
or usermeta.meta_key='telephone'
or usermeta.meta_key='paupress_field_business'
GROUP BY user_id");
Однако это решение не дает мне доступ к первой таблице. Мне нужен способ объединить одну таблицу И присоединить ее к другой на основе идентификатора пользователя, а затем иметь возможность печатать значения для электронной почты, URL-адреса и конкатенированного «Customer_Address»
Я пробовал всевозможные комбинации и подзапросы, но не может сделать эту работу
это сработало отлично! Я потратил 12 часов на это вчера ... большое спасибо вам! –