<p>MySQL不支持“分层”查询。可以使用多个查询在有限的级别上模拟该功能。查询的结果可以与UNION ALL操作结合使用。你知道吗</p>
<p>根据需要返回行的实际条件,获取按特定顺序返回的行可能会有问题。你知道吗</p>
<p>第一级:</p>
<pre><code>SELECT t1.alt_bilesen
FROM urunler_seviyeler t1
WHERE t1.parcano = 'E40'
</code></pre>
<p>第二级:</p>
<pre><code>SELECT t2.alt_bilesen
FROM urunler_seviyeler t1
JOIN urunler_seviyeler t2
ON t2.parcano = t1.alt_bilesen
WHERE t1.parcano = 'E40'
</code></pre>
<p>第三级:</p>
<pre><code>SELECT t3.alt_bilesen
FROM urunler_seviyeler t1
JOIN urunler_seviyeler t2 ON t2.parcano = t1.alt_bilesen
JOIN urunler_seviyeler t3 ON t3.parcano = t2.alt_bilesen
WHERE t1.parcano = 'E40'
</code></pre>
<p>第四级:</p>
<pre><code>SELECT t4.alt_bilesen
FROM urunler_seviyeler t1
JOIN urunler_seviyeler t2 ON t2.parcano = t1.alt_bilesen
JOIN urunler_seviyeler t3 ON t3.parcano = t2.alt_bilesen
JOIN urunler_seviyeler t4 ON t4.parcano = t3.alt_bilesen
WHERE t1.parcano = 'E40'
</code></pre>
<p>可以将查询与<code>UNION ALL</code>set运算符组合</p>
<pre><code>( SELECT t1.alt_bilesen
FROM urunler_seviyeler t1
WHERE t1.parcano = 'E40'
)
UNION ALL
( SELECT t2.alt_bilesen
FROM urunler_seviyeler t1
JOIN urunler_seviyeler t2
ON t2.parcano = t1.alt_bilesen
WHERE t1.parcano = 'E40'
)
UNION ALL
( SELECT t3.alt_bilesen
FROM urunler_seviyeler t1
JOIN urunler_seviyeler t2 ON t2.parcano = t1.alt_bilesen
JOIN urunler_seviyeler t3 ON t3.parcano = t2.alt_bilesen
WHERE t1.parcano = 'E40'
)
UNION ALL
( SELECT t4.alt_bilesen
FROM urunler_seviyeler t1
JOIN urunler_seviyeler t2 ON t2.parcano = t1.alt_bilesen
JOIN urunler_seviyeler t3 ON t3.parcano = t2.alt_bilesen
JOIN urunler_seviyeler t4 ON t4.parcano = t3.alt_bilesen
WHERE t1.parcano = 'E40'
)
ORDER BY 1
</code></pre>
<hr/>
<p>通过在每个查询中包含一个文本值,可以包含一个额外的“level”列。若要按返回列以外的内容进行排序,您需要在每个查询中包含一些附加表达式。。。你知道吗</p>