當前位置:首頁 » 編程語言 » sql樹形查詢

sql樹形查詢

發布時間: 2022-07-21 21:25:28

1. 如何用sql語句查詢樹形菜單包含的所有數據

Sql Server 2000因為你這里說了只有三級分類,所以我就不寫Sql函數了,得到華北下面所有子類別的ClassID(不包括華北的ClassID)select ClassID from Newclass where classParentID in (select ClassID from Newclass where classParentID=51)

2. SQL樹形層級查詢

你好的!
oracle 的start with connect by
別的資料庫用cte 遞歸都能達到你要的效果!
望採納~

3. 如何用sql語句實現樹形的資料庫表查詢

如果樹的層數固定就可以用語句查詢,但效率比較低。例如你說的三層:
select id,v2.name+name from t1 inner join
(select id,v1.name+name as name from t1 inner join
(select id,name from t1 where parentid = 0) v1 on t1.parentid = v1.id) v2 on t1.parentid = v2.id

4. SQL 查詢問題.樹狀結構數據.逆向查詢.

有很多種寫法的,拿出包含1得,然後判斷是否存在2
SELECT DISTINCT A
FROM TAB t1
WHERE B = '1' AND EXISTS (SELECT 1 FROM TAB WHERE A = t1.A and B = '2')

2)拿出1得,2得各自紀錄,然後連接
SELECT t1.A
FROM (SELECT DISTINCT A FROM TAB WHERE B = '1') t1,
(SELECT DISTINCT A FROM TAB WHERE B = '2') t2
WHERE t1.A = t2.A

3)拿出1, 2 然後數個數
SELECT A
FROM TAB
WHERE B IN ('1', '2')
GROUP BY A
HAVING COUNT(DISTINCT B) >= 2

5. SQL2008怎麼實現樹形數據查詢,語句該怎麼寫

select 部門名稱, (select 部門id from table where 上級部門id=1) from table where 部門名稱=總經辦

6. 怎麼一句sql查詢出樹狀結果

SQL code
就是類似這個撒
--測試數據
DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10))
INSERT @t SELECT '001',NULL ,'山東省'
UNION ALL SELECT '002','001','煙台市'
UNION ALL SELECT '004','002','招遠市'
UNION ALL SELECT '003','001','青島市'
UNION ALL SELECT '005',NULL ,'四會市'
UNION ALL SELECT '006','005','清遠市'
UNION ALL SELECT '007','006','小分市'
--深度排序顯示處理
--生成每個節點的編碼累計(相同當單編號法的編碼)
DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000))
DECLARE @Level int
SET @Level=0
INSERT @t_Level SELECT ID,@Level,ID
FROM @t
WHERE PID IS NULL
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level,b.Sort+a.ID
FROM @t a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END
--顯示結果
SELECT SPACE(b.Level*2)+'|--'+a.Name
FROM @t a,@t_Level b
WHERE a.ID=b.ID
ORDER BY b.Sort
/*--結果
|--山東省
|--煙台市
|--招遠市
|--青島市
|--四會市
|--清遠市
|--小分市
--*/

7. sqlserver查詢樹形結構的所有子節點

sqlserver查詢樹形結構的所有子節點
用標准sql的with實現遞歸查詢(sql2005以上肯定支持,sql2000不清楚是否支持):

with subqry(id,name,pid) as (
select id,name,pid from test1 where id = 5
union all
select test1.id,test1.name,test1.pid from test1,subqry
where test1.pid = subqry.id
)
select * from subqry;

8. sql 查詢樹形數據。

如果樹的層數固定就可以用語句查詢,但效率比較低。例如你說的三層:
select id,v2.name+name from t1 inner join
(select id,v1.name+name as name from t1 inner join
(select id,name from t1 where parentid = 0) v1 on t1.parentid = v1.id) v2 on t1.parentid = v2.id

9. Linq To Sql 如何實現遞歸查詢 樹形結構

--構造測試數據: 只作演示用
CREATE TABLE [dbo].[Tim_LinqTable](
[Id] int PRIMARY KEY IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
[Parent] int NOT NULL,
)
GO

INSERT INTO [Tim_LinqTable]
SELECT 'A',0 UNION ALL
SELECT 'A1',1 UNION ALL
SELECT 'A2',1 UNION ALL
SELECT 'B1',2 UNION ALL
SELECT 'B2',3 UNION ALL
SELECT 'C1',4 UNION ALL
SELECT 'C2',4 UNION ALL
SELECT 'D1',5 UNION ALL
SELECT 'D2',5 UNION ALL
SELECT 'D3',5
GO

WITH temp
AS
(
SELECT * FROM [Tim_LinqTable] WHERE Parent = 3
UNION ALL
SELECT m.* FROM [Tim_LinqTable] AS m
INNER JOIN temp AS child ON m.Parent = child.Id
)
SELECT * FROM temp
GO

--查詢 Parent=3 的所有子數據結果如下:
Id Name Parent
----------- -------------------------------------------------- -----------
5 B2 3
8 D1 5
9 D2 5
10 D3 5

(4 row(s) affected)

//好,下邊來看看用C#怎麼實現上邊的SQL語句吧:
void Main()
{
var query=GetClassID(3);
Console.WriteLine("Id\tName\tParent");
query.ToList().ForEach(q=>Console.WriteLine("{0}\t{1}\t{2}",q.Id,q.Name,q.Parent));
/*
Id Name Parent
5 B2 3
8 D1 5
9 D2 5
10 D3 5
*/
}
public IEnumerable<Tim_LinqTable> GetClassID(int p_id)
{
var query = from c in this.Tim_LinqTables
where c.Parent == p_id
select c;

return query.ToList().Concat(query.ToList().SelectMany(t => GetClassID(t.Id)));
}

熱點內容
b樹磁碟存儲 發布:2025-01-31 19:42:53 瀏覽:837
聯想小新air15怎麼配置環境 發布:2025-01-31 19:06:57 瀏覽:968
什麼配置玩3a 發布:2025-01-31 19:05:22 瀏覽:586
phpoa系統 發布:2025-01-31 18:58:42 瀏覽:10
值e的編程 發布:2025-01-31 18:57:06 瀏覽:977
安卓手機的軟體認證在哪裡 發布:2025-01-31 18:57:01 瀏覽:535
android彈出來 發布:2025-01-31 18:56:56 瀏覽:232
辦公室白領新解壓方法 發布:2025-01-31 18:55:23 瀏覽:558
摩斯密碼短長是什麼意思 發布:2025-01-31 18:50:17 瀏覽:587
類的訪問修飾 發布:2025-01-31 18:42:46 瀏覽:933