#php #mysql #wordpress
Вопрос:
Я пытаюсь запросить 3 таблицы в моей базе данных WP одновременно, используя чистые методы SQL JOIN
и INNER JOIN
.
У меня есть пользовательская таблица с именем License, в которой содержится идентификатор пользователя.
Я хочу начать запрос с таблицы лицензий и запросить там все столбцы, затем мне нужно получить данные из связанной записи пользователя в таблице WP_users и перенести ее в один и тот же массив, а затем добавить все прикрепленные мета-поля пользователя к идентификатору пользователя в тот же массив, в результате чего получается длинный массив, состоящий из записей, созданных из таблицы лицензий, связанной таблицы пользователей и связанных метаданных.
Я попытался выполнить следующий запрос:
$results = $wpdb-gt;get_results(" SELECT $licenses_table.*, $users_table.user_email, DATE($users_table.user_registered) FROM $licenses_table JOIN (INNER JOIN {$wpdb-gt;usermeta} as m2 ON {$wpdb-gt;usermeta}.user_id = m2.user_id)", ARRAY_A);
Что я сделал не так?
Пожалуйста, помогите
Комментарии:
1. Я ничего не знаю
PHP
, но чтоJOIN (INNER JOIN
значит, что вы должны использовать толькоINNER JOIN
?2. Я пытаюсь выполнить какое-то вложенное объединение. Таким образом, я имею в виду, что пытаюсь присоединить одну таблицу к соединению таблицы пользователей с соответствующими данными, сохраненными в таблице usermeta.
3. тем не менее, вы сначала присоединяетесь к licentabe с помощью user_data, а когда вам нужно, как второй, также с предложением on
4. вы должны попытаться отладить свой запрос непосредственно в базе данных, прежде чем пытаться закодировать его на php для wordpress
5. Как правильно делать то, что я хочу в MYSQL?