1
好的,我有以下问题。MySQL查询问题
我有两个InnoDB表:“地点”和“事件”。一个地方可以有很多事件,但是事件可以在没有输入的地方创建。在这种情况下,事件的外键是NULL。
简化表的结构如下所示:
CREATE TABLE IF NOT EXISTS `events` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_bin NOT NULL,
`places_id` int(9) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_events_places` (`places_id`),
) ENGINE=InnoDB;
ALTER TABLE `events`
ADD CONSTRAINT `events_ibfk_1` FOREIGN KEY (`places_id`) REFERENCES `places` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
CREATE TABLE IF NOT EXISTS `places` (
`id` int(9) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB;
的问题是,如何构建查询包含相应的地方(或没有价值的事件和名称的名字,如果没有分配的地点?)。
我可以用两个查询做到这一点,但是我明显地将事件分离出来,这些事件都是从没有地方的地方分配的。
帮助真的很感激。
非常感谢!!!! – Luke 2011-01-05 22:02:33