3
我有一張僱員表。每個員工行都包含員工的經理。一個經理將有一個或多個員工,一個員工也可能是一個經理。級聯SQL select
我想構建一個查詢,將返回給定的經理的所有僱員。
例如,經理A有員工B,C和D.員工B是E,F和G的經理。員工C是H和I的經理。D沒有直接的報告。 E將Y和Z作爲直接報告。因此,如果我對A進行查詢,我期望得到B,C,D,E,F,G,H,Y和Z作爲結果。如果我在B上查詢,我應該得到E,F,G,Y和Z.
基本上,查詢需要繼續它的級聯,直到返回與選定管理器有任何連接的所有員工。
select fullname from employees where manager = 'XXX'
or manager in (select fullname from employees where manager='XXXX')
聽起來像你可能想使用[遞歸CTE](https://technet.microsoft.com/en-us/library/ms186243(v=sql.105).aspx)看看如果您的MSSQL版本允許它。 – Conduit
這也可以幫助:http://stackoverflow.com/questions/14274942/sql-server-cte-and-recursion-example – Alex