看板 Database 關於我們 聯絡資訊
大概這樣 With cte as ( Select a.*, a.原料品號 as X From table_a a where a.成品號 is null Union all Select a.*, cte.x From table_a a Join cte on a.成品號 = cte.原料品號 ) Select * from cte where X ='a' ※ 引述《oherman (qq)》之銘言: : 資料庫名稱:MS-SQL : 資料庫版本:2016 : 內容/問題描述: : Table A長這樣 : ================ : 原料品號   成品號 = : ================ : a : b :  a1  a : a2   a : b1 b : b2 b : 原料品號組合成品號,也就是 : a b : / \ / \ : a1 a2 b1 b2 : 會有可能多階層,不止兩層串連 : 我要如何下SQL語法將所有有關聯的品號抓出來呢? : 例如: : WHERE 原料品號=a1或 WHERE 原料品號=a2 或 WHERE 原料品號=a : 也就是不管以其中一個品號查詢,都會抓到所有的品號,包含成品號 : 產生的結果都是: : ================ : 原料品號   成品號 = : ================ : a :  a1  a : a2   a -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 81.128.234.26 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1554123024.A.96F.html
oherman: 謝謝! 05/28 17:11