Как выбрать все поля из связанной таблицы одним запросом?

244
26 ноября 2016, 20:14

Есть две таблицы: в одной проекты, а в другой ключевые слова к ним. Этот запрос забирает данные сразу из двух таблиц:

SELECT * 
FROM pos_projects 
  JOIN pos_keywords ON pos_projects.id = pos_keywords.pid 
WHERE pos_projects.userid= :userid 
ORDER BY id DESC

Но из второй таблицы он забирает только одну строку, а как забрать все?

Answer 1

Как пример (альтернатива) - есть города (cities) и страны (countries), у города есть countryId = countries.id. Чтобы выбрать все города для конкретной страны, я пишу:

SELECT countries.name, cities.name FROM countries join cities on countries.id = cities.countryId where countries.name = 'Испания';

Мне выдается два столбца - первый это название страны, второй - города.

У вас он возвращает все данные из проектов, но ничего из слов (т.к. написано select * from pos_projects, и всё)

READ ALSO
Первая выборка с бд

Первая выборка с бд

Как сделать, чтобы данный код делал все выборки с бд, а не только последнию добавленную запись?

228
Вывод и последующая сортировка записей

Вывод и последующая сортировка записей

Есть 4 таблицы: fandom - Название группы диалоговdialog - Список диалогов в группе

249
PrimaryKey, ForeignKey и их особенности

PrimaryKey, ForeignKey и их особенности

ЗдравствуйтеСтолкнулся с MySQL

241