我有一個數據庫表,用下面的數據與親子樹層次SQL查詢
Id Level parentId Name
1 1 0 ĐẤT NÔNG NGHIỆP
2 1 0 ĐẤT PHI NÔNG NGHIỆP
3 1 0 ĐẤT CHƯA SỬ DỤNG
4 2 1 Đất sản xuất nông nghiệp
5 2 1 Đất lâm nghiệp
6 2 1 Đất nuôi trồng thủy sản
7 2 1 Đất nông nghiệp khác
8 2 2 Đất ở (nông thôn/đô thị)
9 2 2 Đất chuyên dùng
10 2 2 Đất sông, ngòi, kênh, rạch, suối và mặt nước chuyên dùng
11 2 2 Đất phi NN khác
12 2 3 Đất chưa xác định mục đích sử dụng
...
我想寫一個查詢獲取數據,如下列:
由於你看,我有6個關卡。我想獲得像上面的序列的所有數據,但所有的數據都是相同的列。 我試過搜索並找到了一個解決方案:[Parent/Child hierarchy tree view 但我很抱歉,因爲我不明白這一點。 我試圖改變到:
WITH relation(Id, IdCha, TenMucDichSuDung, [level], [orderSequence])
AS
(
SELECT Id,
IdCha,
TenMucDichSuDung,
0,
CAST(Id AS VARCHAR(20))
FROM NhomMucDichSuDungDat
WHERE IdCha = 0
UNION ALL
SELECT p.Id,
p.IdCha,
r.[level] + 1,
CAST(
r.orderSequence + '_' + CAST(p.Id AS VARCHAR) AS VARCHAR(20)
)
FROM NhomMucDichSuDungDat p
INNER JOIN relation r
ON p.IdCha = r.Id
)
SELECT RIGHT('----------', ([level] * 3)) + TenMucDichSuDung
FROM relation
ORDER BY
orderSequence
,但我得到了一個錯誤:
所有查詢使用UNION合併,交叉或EXCEPT運算符必須 在其目標列表中的相同數目的表達式。
大家能幫幫我嗎?
請格式化您的文章,以便它是可讀的。 – CPMunich
當您比較兩個聯合查詢的SELECT列表中的列數時,您會看到什麼? – CPMunich
我得到一個錯誤,沒什麼可看的 –