У меня есть три таблицы в базе данных MySQL:
- хранилища (PK store_id)
- состояний (PK states_id)
- join_stores_states (PK join_id, FK stores_id, FK states_id)
Таблица «магазины» имеет по одной строке для каждого бизнеса.Таблица join_stores_states связывает отдельную компанию с каждым состоянием, в котором она находится. Итак, у некоторых компаний есть магазины в 3 состояниях, поэтому они имеют 3 строки в join_stores_states, а у других есть магазины в 1 состоянии, поэтому у них всего 1 строка в join_stores_states.
Я пытаюсь выяснить, как написать запрос, который перечислит каждую компанию в одной строке, но все равно покажет все состояния, в которых она находится.
Вот то, что я пока имею, что, очевидно, даетмне каждый ряд из join_stores_states:
SELECT states.*, stores.*, join_stores_states.*
FROM join_stores_states
JOIN stores
ON join_stores_states.stores_id=stores.stores_id
JOIN states
ON join_stores_states.states_id=states.states_id
В общем, это то, что он мне дает:
- store 1 |Алабама
- магазин 1 |Флорида
- магазин 1 |Канзас
- магазин 2 |Монтана
- магазин 3 |грузия
- магазин 3 |Вермонт
Это больше того, что я хочу видеть:
- store 1 |Алабама, Флорида, Канзас
- магазин 2 |Монтана
- магазин 3 |Грузия, Вермонт
Предложения о том, какие методы запроса использовать, будут так же полезны, как и рабочий запрос.