SELECT cInvCCode 分類編碼,
? ? ? ?cInvCName 分類名稱,
? ? ? ?iInvCGrade 分類層級,
? ? ? ?ss.bInvCEnd 是否是末級,
? ? ? ?aa.*
FROM InventoryClass ss
? ? LEFT JOIN
? ? (
? ? ? ? SELECT *
? ? ? ? FROM
? ? ? ? (
? ? ? ? ? ? SELECT cInvCCode AS 一級分類編碼,
? ? ? ? ? ? ? ? ? ?cInvCName AS 一級分類名稱,
? ? ? ? ? ? ? ? ? ?iInvCGrade AS 一級分類層級
? ? ? ? ? ? FROM InventoryClass
? ? ? ? ? ? WHERE LEN(cInvCCode) = 1
? ? ? ? ) a
? ? ? ? ? ? LEFT JOIN
? ? ? ? ? ? (
? ? ? ? ? ? ? ? SELECT cInvCCode AS 二級分類編碼,
? ? ? ? ? ? ? ? ? ? ? ?cInvCName AS 二級分類名稱,
? ? ? ? ? ? ? ? ? ? ? ?iInvCGrade AS 二級分類層級
? ? ? ? ? ? ? ? FROM InventoryClass
? ? ? ? ? ? ? ? WHERE LEN(cInvCCode) = 2
? ? ? ? ? ? ) b
? ? ? ? ? ? ? ? ON a.一級分類編碼 = LEFT(b.二級分類編碼, 1)
? ? ? ? ? ? LEFT JOIN
? ? ? ? ? ? (
? ? ? ? ? ? ? ? SELECT cInvCCode AS 三級分類編碼,
? ? ? ? ? ? ? ? ? ? ? ?cInvCName AS 三級分類名稱,
? ? ? ? ? ? ? ? ? ? ? ?iInvCGrade AS 三級分類層級
? ? ? ? ? ? ? ? FROM InventoryClass
? ? ? ? ? ? ? ? WHERE LEN(cInvCCode) = 4
? ? ? ? ? ? ) c
? ? ? ? ? ? ? ? ON LEFT(b.二級分類編碼, 2) = LEFT(c.三級分類編碼, 2)
? ? ? ? ? ? LEFT JOIN
? ? ? ? ? ? (
? ? ? ? ? ? ? ? SELECT cInvCCode AS 四級分類編碼,
? ? ? ? ? ? ? ? ? ? ? ?cInvCName AS 四級分類名稱,
? ? ? ? ? ? ? ? ? ? ? ?iInvCGrade AS 四級分類層級
? ? ? ? ? ? ? ? FROM InventoryClass
? ? ? ? ? ? ? ? WHERE LEN(cInvCCode) = 6
? ? ? ? ? ? ) d
? ? ? ? ? ? ? ? ON LEFT(c.三級分類編碼, 4) = LEFT(d.四級分類編碼, 4)
? ? ? ? ? ? LEFT JOIN
? ? ? ? ? ? (
? ? ? ? ? ? ? ? SELECT cInvCCode AS 五級分類編碼,
? ? ? ? ? ? ? ? ? ? ? ?cInvCName AS 五級分類名稱,
? ? ? ? ? ? ? ? ? ? ? ?iInvCGrade AS 五級分類層級
? ? ? ? ? ? ? ? FROM InventoryClass
? ? ? ? ? ? ? ? WHERE LEN(cInvCCode) = 8
? ? ? ? ? ? ) e
? ? ? ? ? ? ? ? ON LEFT(d.四級分類編碼, 6) = LEFT(e.五級分類編碼, 6)
? ? ) aa
? ? ? ? ON (
? ? ? ? ? ? ? ?ss.cInvCCode = aa.一級分類編碼
? ? ? ? ? ? ? ?OR ss.cInvCCode = aa.二級分類編碼
? ? ? ? ? ? ? ?OR ss.cInvCCode = aa.三級分類編碼
? ? ? ? ? ? ? ?OR ss.cInvCCode = aa.四級分類編碼
? ? ? ? ? ? ? ?OR ss.cInvCCode = aa.五級分類編碼
? ? ? ? ? ?)
WHERE ss.bInvCEnd = 1;
?