stworzyłem 3 różne tabele i kodowanie dla niego jestDlaczego ten kod SQL nie działa?
CREATE TABLE `shirt` (
`id` int(11) not null,
`name` varchar(32),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `shirt` (`id`, `name`) VALUES
('1', 'vneck'),
('2', 'scoop neck');
CREATE TABLE `shirt_size` (
`shirtId` int(11) not null,
`sizeId` int(11) not null,
PRIMARY KEY (`shirtId`,`sizeId`),
KEY `sizeId` (`sizeId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `shirt_size` (`shirtId`, `sizeId`) VALUES
('1', '2'),
('1', '3'),
('1', '4'),
('1', '5'),
('2', '1'),
('2', '2'),
('2', '3'),
('2', '4'),
('2', '5'),
('2', '6'),
('2', '7');
CREATE TABLE `size` (
`id` int(11) not null,
`name` varchar(4),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `size` (`id`, `name`) VALUES
('1', 'xs'),
('2', 's'),
('3', 'm'),
('4', 'l'),
('5', '1x'),
('6', '2x'),
('7', '3x');
a ja odpytywanie go z tego
SELECT shirt.name, size.name
FROM shirt
INNER JOIN
shirt_size ON shirt_size.shirtId = shirt.id
INNER JOIN
size ON size.id = shirt_size.sizeId
ale tabela pokazuje, że wyniki tylko nazwę koszuli, muszę kolumna rozmiarów wyświetlana również na ekranie. W części OD wstawiłem shirt, size
, ale wystąpił błąd. Patrząc dalej w to widziałem wiele osób umieszczających tylko nazwę pierwszego stołu w części OD. Nie widzę, jak to ma wyglądać kolumna size.name
. Co ja robię źle?
DZIĘKI !!!! .. I zorientowaliśmy się ostatniej nocy, ale to jest właściwą odpowiedzią, więc wciąż ją zaznaczałem. :) – Optiq