Не показывать дублированные строки SQLITE

-3

У меня есть запрос вроде:

SELECT coc.title, inc.name FROM cocktail coc, ingredients inc WHERE coc.id = 1...  

Этот запрос является лишь кратким примером

И результат:
Название: Куба Либре, Имя ингридиента: Cola
Название: Куба Либре, Ингредиент Название: Ром
Название: Куба Либре, название ингредиента: Limette
Я получаю 3 раза титул, потому что этот коктейль имеет 3 невероятных.
Если я использую набор результатов, подобный этому, я получаю в 3 раза заголовок заголовка.

Но я хочу:
Название: Куба Либре, Имя ингридиента: Cola
Название ингредиента: Ром
Название ингредиента: лайм
Я хотел бы иметь только один раз название и все ингредиенты в моем результирующем наборе.

У меня есть возможность сделать это в одном запросе или мне нужно выполнить другой запрос после этого только для ингредиентов?

  • 0
    Вы хотите ингредиенты в отдельном ряду или в объединенном списке?
  • 0
    То, что вы привели в качестве примера того, что вы хотите, это набор результатов, который имеет разные столбцы для каждой строки. Это не может произойти непосредственно в SQLite, вам нужно обработать результаты на стороне приложения.
Показать ещё 3 комментария
Теги:
database

1 ответ

3
Лучший ответ

Если вам нужны элементы в одной строке, вы можете использовать GROUP_CONCAT():

select c.c_name, group_concat(i.i_name) ingre
from cocktail c
inner join ingredients i
  on c.id = i.c_id
where c.id = 1
group by c.c_name

см. SQL-скрипт с демонстрацией

  • 0
    Большое спасибо! Это именно то, что я искал.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню