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