谁能给写一个分组查询?

漂亮的石头 2010-03-05 12:01:19
表 forums {fid,fup,name,type},
表 threads{tid,fid,subject}
其中forums`表的 type 有三个值 (group// 分组, forum//板块,sub//子版块)

group1-->
forums1--> // forums1.fup=group1.fid
sub1 //sub1.fup=forums1.fid

forums2--> //forums2.fup=group1.fid

subA //subA.fup=forums2.fid
subB //subB.fup=forums2.fid

forums3-->//forums3.fup=group1.fid

sub3 //sub3.fup=forums3.fid
sub4 //sub4.fup=forums3.fid
sub5 //sub5.fup=forums3.fid
group2
....


threads表 总插入数据时会获取当前所在的板块 fid,插入对应的列,

forums 表 type 为group 时 下面只会有forums
为forum 时 下面可以有 sub 或者 threads

问题是 fid 类型不一定, fid 所对应的 forums 的type 不一定相同.

如何 查出 在 某一个 group 中 所有threads 数据, 只要threads , forum 不要

sql语句该如何写?

我想我说的够详细了 那位高手帮帮忙


...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
漂亮的石头 2010-03-06
  • 打赏
  • 举报
回复
你说的是什么记录呢? 我只要求能查到 所有属于某个forums下的所有threads 数据...
wwwwb 2010-03-06
  • 打赏
  • 举报
回复
贴记录及要求结果出来看看
漂亮的石头 2010-03-06
  • 打赏
  • 举报
回复
mysql 表结构


CREATE TABLE forums (
fid smallint(6) unsigned NOT NULL AUTO_INCREMENT,
fup smallint(6) unsigned NOT NULL DEFAULT '0',
`type` enum('group','forum','sub') NOT NULL DEFAULT 'forum',
`name` char(50) NOT NULL DEFAULT '',
`status` tinyint(1) NOT NULL DEFAULT '0',
displayorder tinyint(3) NOT NULL DEFAULT '0',
threads mediumint(8) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (fid),
KEY forum (`status`,`type`,displayorder),
KEY fup (fup)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;



CREATE TABLE threads (
tid mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
fid smallint(6) unsigned NOT NULL DEFAULT '0',
typeid smallint(6) unsigned NOT NULL DEFAULT '0',
author char(15) NOT NULL DEFAULT '',
authorid mediumint(8) unsigned NOT NULL DEFAULT '0',
`subject` char(80) NOT NULL DEFAULT '',
views int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (tid),
KEY typeid (fid,typeid)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



想要得到forums 表 中每个 type = forum下对应的所有threads 数据
(包括type = forum下级 type=sub 中所有板块数据)

就像 单继承 中 要从基类 查到所有所有派生类,包括派生类的派生类,

想要的结果: 根据threads 表的views 排序,取最高的 10条
主要显示下面的内容就行 forums as f , threads as t

f.fid ,t.tid ,t.subject ,t.authorid,t.views

这样算清楚么? 好急,, 帮帮忙..
ACMAIN_CHM 2010-03-06
  • 打赏
  • 举报
回复
(不要高估你的汉语表达能力或者我的汉语理解能力)
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html

1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)

这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。

wwwwb 2010-03-05
  • 打赏
  • 举报
回复
贴记录及要求结果出来看看

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧