CREATE TABLE `user` (
`id_usera` INT(11) NOT NULL AUTO_INCREMENT,
`imie` VARCHAR(100) NOT NULL COLLATE 'utf8_unicode_520_ci',
`nazwisko` VARCHAR(100) NOT NULL COLLATE 'utf8_unicode_520_ci',
PRIMARY KEY (`id_usera`)
)
COLLATE='utf8_unicode_520_ci'
ENGINE=InnoDB;
CREATE TABLE `gatunki` (
`id_gatunku` INT(11) NOT NULL AUTO_INCREMENT,
`nazwa` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_520_ci',
PRIMARY KEY (`id_gatunku`)
)
COLLATE='utf8_unicode_520_ci'
ENGINE=InnoDB;
CREATE TABLE `open` (
`id_usera` INT(11) NOT NULL,
`id_gatunku` INT(11) NOT NULL,
PRIMARY KEY (`id_gatunku`, `id_usera`),
INDEX `FK_open_user` (`id_usera`),
CONSTRAINT `FK_open_gatunki` FOREIGN KEY (`id_gatunku`) REFERENCES `gatunki` (`id_gatunku`) ON UPDATE CASCADE,
CONSTRAINT `FK_open_user` FOREIGN KEY (`id_usera`) REFERENCES `user` (`id_usera`) ON UPDATE CASCADE
)
COLLATE='utf8_unicode_520_ci'
ENGINE=InnoDB;
CREATE TABLE `pozycje` (
`id_pozycji` INT(11) NOT NULL AUTO_INCREMENT,
`id_gatunku` INT(11) NOT NULL,
`nazwa` VARCHAR(100) NOT NULL COLLATE 'utf8_unicode_520_ci',
PRIMARY KEY (`id_pozycji`),
INDEX `FK__gatunki` (`id_gatunku`),
CONSTRAINT `FK__gatunki` FOREIGN KEY (`id_gatunku`) REFERENCES `gatunki` (`id_gatunku`) ON UPDATE CASCADE
)
COLLATE='utf8_unicode_520_ci'
ENGINE=InnoDB;
SELECT
*
FROM open o
INNER JOIN user AS u USING(id_usera)
INNER JOIN gatunki AS g USING(id_gatunku)
INNER JOIN pozycje AS p USING(id_gatunku)
WHERE u.id_usera = 1
ORDER BY u.id_usera;