Saya memiliki tabel yang diberi nama Category
kolom CategoryID
. Ada kolom referensi dalam tabel yang sama yang disebut fParentCategoryID
.
Saya perlu memisahkan semua ID kategori dan ID subkategori mereka. Sebagai contoh - jika ID kategori induk 10 adalah 1 dan jika ID kategori induk 20 adalah 10 maka ketika saya mencetak ID kategori 20 saya perlu mencetak 1 dan 10 sebagai induknya dalam nilai yang dipisahkan koma.
Saya mencoba bawah permintaan tapi aku mendapatkan NULL
untuk ParChild
kolom. Tolong bantu.
;WITH
cteReports
AS
(
SELECT c.CategoryID,
c.fParentCategoryID,
[level] = 1,
ParChild=cast(CAST(c.fParentCategoryID AS VARCHAR(200)) + ',' + CAST(c.CategoryID AS VARCHAR(200)) AS VARCHAR(MAX))
FROM retail.Category c
WHERE c.fParentCategoryID is NULL
UNION ALL
SELECT c.CategoryID,
c.fParentCategoryID,
[level] + 1,
ParChild = ParChild + ',' + CAST(c.CategoryID AS VARCHAR(200))
FROM retail.Category c
JOIN cteReports r
ON c.fParentCategoryID = r.CategoryID
)
SELECT *
FROM cteReports cr
gunakan skrip ini untuk membuat dan mengisi tabel. (catatan: ada batas 30K ke badan pertanyaan..Jadi saya harus menggunakan pastebin untuk menyalin kode Anda dan referensi itu)