我有2個需要查詢的表。我無法爲鏈接的鍵設置唯一的值。 第一個表格存儲每個小孩的故事或帖子。MySQL加入不具有唯一外鍵的第2個表
CREATE TABLE IF NOT EXISTS `learning_story` (
`story_id` int(10) NOT NULL AUTO_INCREMENT,
`child_id` int(10) NOT NULL,
`img_file` varchar(250) NOT NULL,
`title` varchar(300) NOT NULL,
`description` text NOT NULL,
`link` varchar(300) NOT NULL,
`storydate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`teacher_id` int(11) NOT NULL,
`pro_id` int(10) NOT NULL DEFAULT '0',
`status` varchar(10) NOT NULL DEFAULT 'draft',
PRIMARY KEY (`story_id`),
KEY `child_id` (`child_id`),
KEY `pro_id` (`pro_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;
每個故事或帖子對於一個孩子來說都是獨特的(child_id外鍵)。 現在我添加了添加屬於一組兒童的帖子的功能。 這裏有4點樣品的行
INSERT INTO `learning_story` (`story_id`, `child_id`, `img_file`, `title`, `description`, `link`, `storydate`, `teacher_id`, `pro_id`, `status`) VALUES
(1, 5, '', 'Story 1', '<p><img src="http://127.0.0.1/websites/my-books/assets/mercury_img/2dfeb1f41c48a308b7eee8526918ebb7.JPG" style="cursor: default; width: 222.28915662650604px; height: 125px; float: right; margin: 0px 0px 10px 10px; " alt=""></p><p><img src="http://127.0.0.1/websites/my-books/img/timbthumb.php?src=http://127.0.0.1/websites/my-books/assets/2/children/test_09.JPG&q=100&w=180&h=130" alt="imagetitle" style="cursor: default; ">dsd sdsdsd s ds ffdfdf </p>\r\n', '', '2012-10-08 20:42:05', 0, 2, 'draft'),
(12, 5, '', 'Teachers Final Test 33', '<p>ds sd sd sd sd dsdsd dsd sd s </p><p><br></p><p>Tweety</p>\r\n', '', '2012-10-12 12:19:45', 31, 2, 'draft'),
(30, 6, '', 'Boys High Choir', '<p>sasassa</p>', '', '2012-10-14 09:55:08', 0, 2, 'draft'),
(32, 0, '', 'Story Not Mine ID 5', '<p>dsd sd sd s ds ds ds sd sd </p>\r\n', '', '2012-10-14 12:21:36', 0, 2, 'draft');
其中存在具有一個child_id組爲0。此記錄屬於child_id的在第二表1個記錄。
第二臺
CREATE TABLE IF NOT EXISTS `story_groups` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`child_id` int(10) NOT NULL,
`story_id` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=112 ;
INSERT INTO `story_groups` (`id`, `child_id`, `story_id`) VALUES
(40, 7, 30),
(41, 8, 30),
(107, 8, 32),
(108, 9, 32),
(109, 11, 32),
(110, 12, 32),
(111, 5, 32);
所以我想所有的故事/職位對一個孩子。包括集團故事。
我試過UNION匹配和一堆JOIN組合,但我只是無法破解它。
這可能是一個簡單的JOIN操作,我只是無法破解。
有人請幫我寫我的查詢,以包括story_groups表中的行嗎?
爲什麼不廢除第一個表中的'child_id'列,並且僅通過第二個表中的記錄將所有的故事與他們的孩子聯繫起來? – eggyal
之後你指出這是非常有道理的。剛剛沒有組功能設置,並不想改變太多。需要停止修補和重新連接。 – preschool