急啊,关于显示全部子分类内容的SQL,请多帮忙,多谢!

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

表a结构如下:  
   
          id       pid  
          1         0  
          2         1  
          3         1  
   
  表b结构如下:  
   
          nid     id       title  
          1           1         545454  
          2           2         323  
          3           2         23423  
   
  就是表a里,   2和3   都是1的子分类,我想实现输入1,把表b里所有id等于1的显示,把id属于1的也都显示出来,  
  就是把所有子分类的文章都显示出来,这个我该怎么做呢,请多指教,多谢多谢!

· 网友精彩回答:

发表者:bzcpp

select   *   from   a,   b   where   a.id=b.id   and   a.id=你要的值  
   
  然后你的   1,2,3   拆解,逐个传进去

发表者:libin_ftsafe

这个问题似曾相识:  
   
  declare   @id   int,@allid   varchar(100)  
  set   @id   =   ...  
  select   @allid   =   allid   from   a   where   id=@id  
  exec(select   ...   where   id   in   (+@allid+))

发表者:paoluo

楼主是要包含所有的子节点还是只要包含其下那层的子节点??看看这个是不是你要的  
   
  --建立测试环境  
  create   table   a  
  (id int,  
    pid int)  
   
  create   table   b  
  (nid int,  
    id int,  
    title varchar(50))  
  --插入数据  
  insert   a   values(1,         0)  
  insert   a   values(2,         1)  
  insert   a   values(3,         1)  
   
  insert   b   values(1,           1,         545454)  
  insert   b   values(2,           2,         323)  
  insert   b   values(3,           2,         23423)  
  --测试  
  declare   @id int  
  set   @id=1  
  select   *   from   b   where   id=@id   or   id   in   (select   id   from   a   where   pid=@id)  
  --删除测试环境  
  drop   table   a,b  
  --结果  
  /*  
  nid id title  
  1 1 545454  
  2 2 323  
  3 2 23423  
  */

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved