<code>--> 生成测试数据表: [tb]</code>
<code>IF OBJECT_ID(</code><code>'[Users]'</code><code>) </code><code>IS</code> <code>NOT</code> <code>NULL</code>
<code> </code><code>DROP</code> <code>TABLE</code> <code>[Users]</code>
<code>GO</code>
<code>CREATE</code> <code>TABLE</code> <code>[Users] ([userid] [</code><code>int</code><code>],[username] [nvarchar](10),[parentUserId] [</code><code>int</code><code>],[parentUserName] [nvarchar](10))</code>
<code>INSERT</code> <code>INTO</code> <code>[Users]</code>
<code>SELECT</code> <code>'1'</code><code>,</code><code>'admin'</code><code>,</code><code>'0'</code><code>,</code><code>NULL</code> <code>UNION</code> <code>ALL</code>
<code>SELECT</code> <code>'2'</code><code>,</code><code>'aaaaa'</code><code>,</code><code>'1'</code><code>,</code><code>'admin'</code> <code>UNION</code> <code>ALL</code>
<code>SELECT</code> <code>'3'</code><code>,</code><code>'bbbbb'</code><code>,</code><code>'2'</code><code>,</code><code>'aaaaa'</code> <code>UNION</code> <code>ALL</code>
<code>SELECT</code> <code>'4'</code><code>,</code><code>'ddddd'</code><code>,</code><code>'3'</code><code>,</code><code>'bbbbb'</code>
<code>-->SQL查询如下:</code>
<code>;</code><code>with</code> <code>t </code><code>as</code>
<code>(</code>
<code> </code><code>select</code> <code>*,</code><code>level</code><code>=1 </code><code>from</code> <code>Users </code><code>where</code> <code>[parentUserId]=0</code>
<code> </code><code>union</code> <code>all</code>
<code> </code><code>select</code> <code>a.*,</code><code>level</code><code>+1 </code><code>from</code> <code>Users a </code><code>join</code> <code>t b </code><code>on</code> <code>a.parentUserId=b.userid</code>
<code>)</code>
<code>select</code> <code>* </code><code>from</code> <code>t </code><code>where</code> <code>[parentUserId]<>0</code>
<code>/*</code>
<code>userid username parentUserId parentUserName level</code>
<code>----------- ---------- ------------ -------------- -----------</code>
<code>2 aaaaa 1 admin 2</code>
<code>3 bbbbb 2 aaaaa 3</code>
<code>4 ddddd 3 bbbbb 4</code>
<code> </code>
<code>(3 行受影响)</code>
<code>*/</code>