mysql: convertendo várias linhas em uma única linha de seleção de vírgula
dentro de um banco de dados MySQL, você pode encontrar uma situação em que você deseja condensar múltiplas fileiras em uma única linha, com colunas específicas. Isso pode ser alcançado utilizando a função group_concat, como demonstrado no cenário de exemplo a seguir. A tabela de pratos tem a seguinte estrutura:
dish: DISH_ID DISH_NAME 1 Dish_1 2 DISH_2 3 DISH_3 4 DISH_4 enquanto a tabela drish_has_dishes se parece com o seguinte:
DISH_HAS_DISHES: FEELE_ID DISH_ID 1 2 1 3 1 4
DISH: dish_id dish_name 1 dish_1 2 dish_2 3 dish_3 4 dish_4Objetivo:
DISH_HAS_DISHES: meal_id dish_id 1 2 1 3 1 4
refeição_id dish_ids dish_names 1 2,3,4 DISH_2, DISH_3, DISH_4
Solução:
meal_id dish_ids dish_names 1 2,3,4 dish_2, dish_3, dish_4
selecione M.Meal_id, Group_concat (DISH_ID) como DISH_IDS, Group_concat (DISH_NAME) como DISH_NAMES De dish_has_dishes m Junte -se Dish D em (M.Dish_id = D.Dish_id) Grupo por refeição_id Nesta Query:
começamos juntando -se à tabela dish_has_dishes (m) com a tabela de pratos (d) na coluna dish_id. Columns. Esta técnica é especialmente útil ao trabalhar com dados tabulares e consolidar informações em várias linhas.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3