发新话题
打印

如何建立两个表之间的查询?

如何建立两个表之间的查询?

如何建立两个表之间的查询?
表一 目录表
编号 目录名
1    aaaaaa
2    bbbbbb
3    ccccc
4    ddddddd
5    eeeeee
6    ggggggg
7    lllllll

表二 资源表
编号 标题   描述  资源标识         目录编号
1    123    lllll  image/aaa.gif    1,3,4
2    lll    kkkkk  image/bbb.gif    1,2
3    lldfdf llkkk  image/jjj.jpg    2,4
4    kkkkk  jjjii  image/ll.gif     2,5
5    kkllll eiiii  image/lll.gif    3,6
....... .....       ......  ..... .....

通过点击目录表里的目录名称,如何查询到资源表中相应资源。(注:此查询的关键问题是一条资源可能存储着好几条目录。)
建立两个表连接关系是通过目录编号。

TOP

如何建立两个表之间的查询?

select * from 资源表 where 目录编号 like '%目录表.编号 %'

TOP

如何建立两个表之间的查询?

[quote][b]下面引用由[u]天之剑[/u]在 [i]2003/04/18 10:25am[/i] 发表的内容:[/b]
select * from 资源表 where 目录编号 like '%目录表.编号 %'
[/quote]

不是将两个表连接在一起形成一个表,而是目录表会在网页里形成一个目录树一样的列表。
目录名称里面会传递一个参数就是目录编号。在资源表里面的目录编号里存储了目录表的编号。当点击目录树中的一条目录时,就会检索资源表中等于该编号的资源,形成一格查询结果。
注意:问题关键是资源表中的目录编号字段里不是只存储一个唯一的编号,而是存储好几个目录编号。这样这个检索问题就变得复杂了。也就是说当传来一个目录编号时,要对目录编号字段里面的数据进行分别比较。找出相等的编号,然后再进行下一条记录的比较。最终在资源表中检索出所有的复合条件的记录。
好苦恼。。。。。。。。。。。。。。。。。。

TOP

如何建立两个表之间的查询?

[quote][b]下面引用由[u]天之剑[/u]在 [i]2003/04/18 10:25am[/i] 发表的内容:[/b]
select * from 资源表 where 目录编号 like '%目录表.编号 %'
[/quote]
你的这个方法是可以检索满足条件资源。但是有一个问题,这个检索条件是一个相似比较,如果出现编号如下:1,11,21,31,101,。。。。。编号的内容是不像关的,但一定会被检索出来的,这就不是我所需要的精确检索了。有没有更优化的检索方法。

TOP

如何建立两个表之间的查询?

什么?看不太明白,你是不是想把 目录表 中得 id保存到 资源表 中得 目录编号
 

TOP

如何建立两个表之间的查询?

不会得,其实中很精确得,只要你保存时候注意一下把目录表 中得 id保存到 资源表 中得 目录编号就可以了,不是人工输入得,而是由库自动得取得,比较得时候是比较得字符型,所以不会出现因为是1而得出11得条件来

TOP

如何建立两个表之间的查询?

各种资源已经存好了,现在就需要通过在目录表检索资源表,查出等于编号的资源,然后显示.最关键的问题是,资源表中存储目录编号的字段里面存储了不是一个唯一的编号,而是存储了好几条目录的编号.
问题,这样就不能用一般 lianid='"&menuid&"'这种比较来实现了..使用 lianid link '%"&menuid%"%' 这种方法是能够找出相似的或者叫包含的符合条件的资源来.
但是我需要精确查找符合条件的记录.比如我想查找目录编号为1的所有资源,那资源表中的目录编号字段中存储的像"11,21,41,100....;"这样的信息的记录就不能被检索出来..而只能检索出像"1,22,21...."这样的记录来..........

TOP

如何建立两个表之间的查询?

不会得吧,因为是字符型,你试一下!

TOP

如何建立两个表之间的查询?

试什么??
你上面的方法我用了,是何以检索出来的,但不准确.他把不相关的资源也给检索出来了.

TOP

发新话题