выбор записей атрибутов из разных таблиц - PullRequest
0 голосов
/ 06 октября 2011
CREATE TABLE IF NOT EXISTS `carslibrary` (
  `CarID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `CarName` varchar(255) NOT NULL,
  PRIMARY KEY (`CarID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

CREATE TABLE IF NOT EXISTS `colorslibrary` (
  `ColorID` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `ColorName` varchar(255) NOT NULL,
  PRIMARY KEY (`ColorID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;


CREATE TABLE IF NOT EXISTS `facerecord` (
  `carslibrary_ID` int(10) unsigned NOT NULL,
  `colorslibrary_ID` int(11) unsigned NOT NULL,
  KEY `carslibrary_ID` (`carslibrary_ID`),
  KEY `colorslibrary_ID` (`colorslibrary_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

я хочу выбрать все записи автомобилейLibrary и их соответствия цветам автомобилей, например

carID  carName  carColor
1      toyota   green
2      kia      green
3      ford     blue

1 Ответ

1 голос
/ 06 октября 2011

Я бы использовал пару JOIN с:

SELECT `CarID`, `CarName`, `ColorName` AS CarColor FROM
  (`carslibrary` LEFT JOIN `facerecord` ON `CarID`=`carslibrary_id`)
  LEFT JOIN `colorslibrary` ON `colorslibrary_id`=`ColorID`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...