Я это сделал, вывел так: название продукта и название категории, через запятую, можно ли вывести не так, а что бы выводило каждый раз отдельно название продукта и категорию?
SELECT product.name, COUNT(product.id), GROUP_CONCAT(category.name) FROM product
LEFT JOIN order2 ON order2.product_id = product.id
LEFT JOIN category ON category.id = order2.category_id
GROUP BY product.id HAVING COUNT(product.id) > 1
Если убрать GROUP BY то будет выводить, как мне надо: отдельно название продукта и категория, но не будет выводить повторное название продукта
сейчас выводит так
картошка - Овощи, Соки
бананы - Съедобное, фрукты, Сок
Хочу что бы было примерно так
картошка - Овощи
картошка - Соки
бананы - Съедобное
бананы - Фрукты
бананы - Соки
-- phpMyAdmin SQL Dump
-- version 4.3.11
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1
-- Время создания: Дек 27 2017 г., 10:23
-- Версия сервера: 5.6.24
-- Версия PHP: 5.6.8
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- База данных: `lesson9`
--
-- --------------------------------------------------------
--
-- Структура таблицы `category`
--
CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL,
`name` varchar(256) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `category`
--
INSERT INTO `category` (`id`, `name`) VALUES
(1, 'Овощи'),
(2, 'Соки'),
(3, 'Фрукты'),
(4, 'Съедобное');
-- --------------------------------------------------------
--
-- Структура таблицы `order2`
--
CREATE TABLE IF NOT EXISTS `order2` (
`id` int(11) NOT NULL,
`product_id` int(11) NOT NULL,
`category_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `order2`
--
INSERT INTO `order2` (`id`, `product_id`, `category_id`) VALUES
(1, 2, 1),
(2, 2, 2),
(3, 3, 3),
(4, 4, 4),
(5, 4, 3),
(6, 4, 2),
(7, 7, 2),
(8, 8, 2),
(9, 5, 4);
-- --------------------------------------------------------
--
-- Структура таблицы `product`
--
CREATE TABLE IF NOT EXISTS `product` (
`id` int(11) NOT NULL,
`name` varchar(256) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `product`
--
INSERT INTO `product` (`id`, `name`) VALUES
(1, 'Огурец '),
(2, 'Картошка'),
(3, 'яблоки'),
(4, 'бананы'),
(5, 'апельсины'),
(6, 'виноград '),
(7, 'добрый'),
(8, 'Моя семья');
--
-- Индексы сохранённых таблиц
--
--
-- Индексы таблицы `category`
--
ALTER TABLE `category`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `order2`
--
ALTER TABLE `order2`
ADD PRIMARY KEY (`id`);
--
-- Индексы таблицы `product`
--
ALTER TABLE `product`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT для сохранённых таблиц
--
--
-- AUTO_INCREMENT для таблицы `category`
--
ALTER TABLE `category`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT для таблицы `order2`
--
ALTER TABLE `order2`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=10;
--
-- AUTO_INCREMENT для таблицы `product`
--
ALTER TABLE `product`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=9;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;