Select inner join

2

Ecть 2 таблицы

movie

id name description_id year add_date category_id

и    

descriptions 

id name

когда я делаю 

SELECT * FROM `movie` INNER JOIN descriptions on movie.description_id = descriptions.id

то получаю таблицу с 2-мя name.

Как обращаться к этим разным полям, или как сделать в запросе чтобы одно из полей называлось name1 ?

php

4 ответов

3

Если я правильно понял вопрос, попробую ответить: Нужно использовать alias, чтобы можно было работать с двумя sql-таблицами, которые имеют одинаковые поля. 

Пример:

SELECT movie.name as name1, descriptions.name as name2 FROM `movie` INNER JOIN descriptions on movie.description_id = descriptions.id
2

Cпасибо

2

При этом запросе

SELECT movie.name as name1, descriptions.name as name2 FROM `movie` INNER JOIN descriptions on movie.description_id = descriptions.id
получается таблица из 2х полей name1, name2 а как сделать чтобы все другие поля присутствовали ?

3

В SELECT нужно добавить поля которые нужны, например:

SELECT movie.name as name1,  descriptions.name as name2, movie.id as movie_id, descriptions.kakoe_to_pole, movie.kakoe_to_pole FROM `movie` INNER JOIN descriptions on movie.description_id = descriptions.id

т.е. когда запрос из джойнами, нужно указывать вручную нужные поля в select.

Sign up or Log in to write an answer