MariaDB社区

标题: Sql语句求帮助!! [打印本页]

作者: ~~头发薍ㄋ。    时间: 2012-4-8 15:30
标题: Sql语句求帮助!!
本帖最后由 ~~头发薍ㄋ。 于 2012-4-8 15:43 编辑

现在有两张表,分别是news表和class表:

news表中有三个字段如下
----------------------------------------------
id   |   title  |  content
----------------------------------------------
title表示新闻的标题
content表示新闻的内容

class表中有三个字段如下
----------------------------------------------
newsid   |   className  |  classResult
----------------------------------------------
className表示分类器的名称
classResult表示分类器的结果

目的是希望把新闻的所有属性都放在class表中。

举个例子:
新闻id号为1的这条新闻,新闻类别 为国际新闻,那在class表中则插入
1,"新闻类别","国际新闻"
同时,新闻id号为1的这条新闻,新闻来源 为人民网,那在class表中则插入
1,"新闻来源","人民网"
也可以再加入其他属性进去。

那么我选择的时候,如果希望能够得到所有 新闻类别 为国际新闻 ,新闻来源 为人民网的所有新闻记录。
请教各位,这样的语句怎么写?
作者: kider    时间: 2012-4-17 16:25
数据插的不够科学...

作者: coky    时间: 2012-4-26 16:30
恩,一楼说的确实。抛砖引玉下,这个查询估计老慢了。
select * from news where id in (
select id from class as a and class as b where a. classname='新闻类别' and a.classResult='国际新闻' and b.classname='新闻来源'  and b.classResult='人民网' and a.id=b.id group by id)
我记得and的话会先判断前面的,过滤下到时候链接的话行数会小点,没测试过。




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2