@Misha5
профессиональный бомж

В чем ошибка sql запроса?

$sqlGetPost = "SELECT * FROM `post` INNER JOIN `users` ON `post`.`author_id` = `users`.`id` ORDER BY `post`.`id` DESC";

Делаю запрос на объединение нескольких таблиц из бд. Но при выводе получается, что там где мне нужно имя поста post['name'] выводится имя пользователя:

5e8760d0b285d959608916.png

Для формирования поста мне нужны имя, фото и статус пользователя.
Как правильно сформировать запрос?
  • Вопрос задан
  • 47 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вам мешает звёздочка. Явно перечисляйте имена полей и добавляйте псевдонимы, если в списке оказываются поля с одинаковыми названиями. В данном случае, видимо, это поля `post`.`name` и `users`.`name`
Ответ написан
nokimaro
@nokimaro
При пересечении имен полей нужно указать что конкретно вам нужно, а так же можно использовать алиасы.
И можно скомбинить со звёздочкой в том числе.

SELECT post.*, users.name AS users_name, users.status AS users_status
FROM `post` 
INNER JOIN `users` ON `post`.`author_id` = `users`.`id` 
ORDER BY `post`.`id` DESC
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы