0
我没有很多的关系数据库的经验,我这个问题一段时间,但有一点运气挣扎......“复杂”的MySQL的关系数据库查询
所以,我有几个表:
CREATE TABLE `shows` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`show_name` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `playlists` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` int(11) NOT NULL,
`time` int(11) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `items_playlists` (
`item_id` int(11) NOT NULL,
`playlist_id` int(11) NOT NULL,
PRIMARY KEY (`item_id`,`playlist_id`),
KEY `fk01` (`item_id`),
KEY `fk02` (`playlist_id`)
);
CREATE TABLE `subtitles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`line1` varchar(500) NOT NULL,
`line2` varchar(500) NOT NULL,
`line3` varchar(500) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `items_subtitles` (
`item_id` int(11) NOT NULL,
`subtitle_id` int(11) NOT NULL,
PRIMARY KEY (`item_id`,`subtitle_id`),
KEY `fk01` (`item_id`),
KEY `fk02` (`subtitle_id`)
);
CREATE TABLE `subtitles_txt` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`subtitle_text` varchar(500) NOT NULL,
PRIMARY KEY `id` (`id`)
);
playlists.name
实际参照shows.id
值。
subtitles.line1
,subtitles.line2
和subtitles.line3
各自对应于subtitles_txt.id
。
我需要的是基于subtitles_txt.subtitle_text
值获得所有表中的所有行,条件是该值在右侧具有通配符(...WHERE subtitle_text LIKE 'value%'
)。
我觉得很遗憾我不能改变表的结构,因为这是一些大项目的一部分,很多其他的事情都取决于一些这些表的,所以我真的应该做一些查询出这...
“要获取所有行”......所有的行?只有那些在subtitles.text或所有与字幕文本相关的表中的数据?包括节目,播放列表等...? – xQbert 2012-01-09 12:14:08
我需要所有数据...包括节目,播放列表等= =) – errata 2012-01-09 12:15:47