Вот проблемы ...
У меня есть 4 таблицы: users
, groups
, users_groups
и emails
. Обратите внимание, что users_groups
ссылается на таблицу groups
и users
. Другими словами, каждый раз, когда пользователь присоединяется к группе, userId и groupId вводятся в таблицу users_groups. Пользователь может присоединиться к нескольким группам.
CREATE TABLE app.users (
`id` INT NOT NULL AUTO_INCREMENT ,
`firstName` INT NOT NULL ,
`lastName` INT NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;
CREATE TABLE app.groups (
`id` INT NOT NULL AUTO_INCREMENT ,
`groupName` VARCHAR(32) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;
CREATE TABLE app.users_groups (
`id` INT NOT NULL AUTO_INCREMENT ,
`userId` INT NOT NULL ,
`groupId` INT NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;
CREATE TABLE app.emails (
`id` INT NOT NULL AUTO_INCREMENT ,
`userId` INT NOT NULL ,
`email` VARCHAR(32) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE = InnoDB;
Теперь я хотел бы запросить эти таблицы и отобразить результат следующим образом:
+---------+-------------------+--------------+
|name |emails |groups |
+---------+-------------------+--------------+
|John Doe |johndoe@mail.com, |group1,group2,|
| |johndoe2@mail.com |group3 |
+---------+-------------+---------+----------+