1樓:匿名使用者
--假如表名是 tablea
select *
from tablea b
where id between 2 and 6union all
select *
from tablea a
where exists
(select *
from tablea b
where b.id between 2 and 6and a.id=b.fid
)--第二辦法是使用遞迴
with
tempas(
select *
from tablea
where id between 2 and 6union all
select b.*
from temp
inner join tablea b on b.id=temp.id
)select *
from temp
2樓:
create table tb
(id int,
name varchar(20),
fid int
)insert into tb values( 1,'一級1',0)insert into tb values( 2,'一級2',0)insert into tb values( 3,'二級1',2)insert into tb values( 4,'二級2',2)insert into tb values( 5,'**1',4)insert into tb values( 6,'四級1',5)insert into tb values( 7,'二級1',1)with tmp(id,name,fid) as(select id,name,fid from tb where id in (2)
union all
select tb.id,tb.name,tb.fid from tb inner join tmp on tb.fid = tmp.id
)select distinct * from tmp order by id,fid
2 一級2 0
3二級1 2
4 二級2 2
5**1 4
6 四級1 5
3樓:匿名使用者
select * from table where id in (2,3,4,5,6);
4樓:車a豪
select * from table where id in (2,3,4,5,6)
如何只用sql語句查詢一個類別下面所有子類包含的資訊?
5樓:匿名使用者
select * from news left join newclass on news.classid=newclass.classid where newclass.
classparentid=news.classid 沒怎麼仔細看 我理解的是 新聞表是主表 查詢的是 所有newclass表裡所有 classparentid等於classid的資料
6樓:匿名使用者
select * from flfl start with classid =華北 connect by classparentid = prior classid;oracle的樹查詢可以實現,其他資料庫就不瞭解了這個語句會把省一級的資料也查詢出來,可以的話加個深度的欄位會好點。
7樓:匿名使用者
sql server 2000因為你這裡說了只有**分類,所以我就不寫sql函式了,得到華北下面所有子類別的classid(不包括華北的classid)select classid from newclass where classparentid in (select classid from newclass where classparentid=51)
根據類別classid表查詢新聞select * from news where classid in (select classid from newclass where classparentid in (select classid from newclass where classparentid=51))ok了
sql 查詢:無限極分類,獲取父類下所有子類
8樓:匿名使用者
如果bai
在dusql sever 2005或以上版本zhi可dao
以這樣內
with a as(
select id,nodename,pid from 表容 where id='05009'
union all
select x.id,a.nodename,a.pid from 表 x,a
where x.pid=a.id)
select * from a
9樓:匿名使用者
這問題很有趣哦!很多公司面試經常提到!有三種辦法:
1.父類
子類都各自建表(內不推薦)
2.子類父類容同在一張表(推介)
3.還有一種做法記不清了。
下面說說第二種做法吧!
你可以在資料庫中建一張表都擁有以上的欄位,然後在hibernate配置檔案裡配置一對多的關係,自己類對自己類做一對多的關聯,具體配置你可以在一些論壇**上搜到的。然後查詢時你只要按id=父類的那個id去查一遍就全出來了.
10樓:蕢楊氏甕鵑
我菜鳥,要好幾句.寫個遞迴,查一下類別下的所有子類然後select*from
文章where
分類in(,,,);
sql語句查詢一級分類下的二級分類以此類推
11樓:儒雅的棟
封裝一個類:
<?php
use illuminate\database\eloquent\model;
class sort extends model/*** @param [sorts] $[需要被格式化的資料]* @param pid 當前分類的父類
*/public function gettree($sorts,$pid =0)}}
}return $arr;}}
12樓:曹傑博
用 select * from 表 where dm like '01%'
sql 刪除類別下所有子類的資訊及類別資訊
13樓:匿名使用者
你的bai表結構要描述清楚。才能幫du忙的哇zhi。
是單表父子dao
關聯,還是多表關聯。專
比如a、b、c三個表
a表存屬儲企業資訊 id是主鍵存放企業編號b表村產品 存在gid企業編號與a中企業編號對應c表存供求 存在gid企業編號與a中企業編號對應b、c與a是多對一關係。
因為a中企業數量包含且大於bc企業數量,所以想想刪除a中多餘的企業記錄
那就用delete from a where id not in (select gid from b) and id not in (select gid from c)
14樓:
請詳細點,是要刪除表裡的資訊嗎,delete from tablea
使用sql語句查詢出來一級分類下的二級分類和**分類並生成execl
15樓:匿名使用者
select * from a,b,c where a.xx=b.xx and c.oo = b.oo
或者 select * from a,b,c where a.xx in(select b.xx form b where b.oo in(...同理省略...))
由於你就截個圖,只能幫你到回
這裡了答
16樓:匿名使用者
啥意思,你的**是你所要的結果?你的原始資料呢?
sql查詢語句like 的問題,sql查詢語句Like 的問題
like 操作符用於在 where 子句中搜尋列中的指定模式。sql like 操作符語法 select column name s from table name where column name like pattern 萬用字元 描述 替代一個或多個字元 僅替代一個字元 charlist 字...
sql語句如何將表進行關聯查詢,sql語句如何將三個表進行關聯查詢?
select distinct a.caseno caseno,a.daterecived,a.buildid,a.contractno,max b.dateofrmi dateofrmi,c.venue,c.district from a left join b on a.caseno b.cas...
sql語句查詢並統計查詢結果數量
可以通過count函式來實現。sqlone select from tablename1 where id 5 此語句查詢出來多條記錄,之後看做一個新的表。sqltwo select conut from select from tablename1 where id 5 as tablename2...