【问题标题】:Query to list all paths in hierarchical data查询以列出分层数据中的所有路径
【发布时间】:2011-07-24 04:06:37
【问题描述】:

我已经创建了表格并将分层数据存储在其中。该表与给定的this answer 完全相同。还有一些检索查询。

但我想列出表格中所有可能的路径。查询是什么?

输出应该是 -

根 根/目录2 根/目录3 根/目录4 根/目录5 ROOT/Dir3/Dir6 ROOT/Dir5/Dir7

....(顺序无关紧要)

【问题讨论】:

    标签: sql sqlite hierarchical-data


    【解决方案1】:

    您想通过在查询中重复添加左连接来伪造无限的深度或高度。仅当您确切知道树的高度或为自己设置了限制时,这才有效。

    SELECT V.uid UID, V.tiergruppe_id, V1.title Tiergruppe, V.nachweisart_id, V2.title Nachweisart, V.verhalten_id, V3.title Verhalten, V.quelle_id, V4.title Quelle, V.toleranz_id, V5.title Toleranz, V.tag_id, V6.title Tag, V.monat_id, V7.title Monat, V.jahr_id, V8.title Jahr, V.stunde_id, V9.title Stunde, V.minute_id, V10.title Minute, V.von_id, V11.title Von, V.bis_id, V12.title Bis, V.tageszeit_id, V13.title Tageszeit, V.spez_anzahl_id, V14.title Spez_Anz, V.gesamtanzahl Gesamtanzahl, V.amt Amt, V.awt Awt, V.gesamta Gesamta, V.gesamti Gesamti, V.anmerkungen Anmerkungen
            FROM tx_chsffoeag_fundmeldung V INNER JOIN tx_chsffoeag_fund V1 ON V.tiergruppe_id = V1.uid INNER JOIN tx_chsffoeag_fund V2 ON V.nachweisart_id = V2.uid INNER JOIN tx_chsffoeag_fund V3 ON V.verhalten_id = V3.uid INNER JOIN tx_chsffoeag_fund V4 ON V.quelle_id = V4.uid INNER JOIN tx_chsffoeag_fund V5 ON V.toleranz_id = V5.uid INNER JOIN tx_chsffoeag_fund V6 ON V.tag_id = V6.uid INNER JOIN tx_chsffoeag_fund V7 ON V.monat_id = V7.uid INNER JOIN tx_chsffoeag_fund V8 ON V.jahr_id = V8.uid INNER JOIN tx_chsffoeag_fund V9 ON V.stunde_id = V9.uid INNER JOIN tx_chsffoeag_fund V10 ON V.minute_id = V10.uid INNER JOIN tx_chsffoeag_fund V11 ON V.von_id = V11.uid INNER JOIN tx_chsffoeag_fund V12 ON V.bis_id = V12.uid INNER JOIN tx_chsffoeag_fund V13 ON V.tageszeit_id = V13.uid INNER JOIN tx_chsffoeag_fund V14 ON V.spez_anzahl_id = V14.uid
            WHERE
                V.deleted=0 AND V.hidden=0 AND V1.deleted=0 AND V1.hidden=0
    

    【讨论】:

    • 如果我设置了一个限制,我可以得到上面的输出吗?
    • Jitamaro : 喜欢了解 sql 查询。
    猜你喜欢
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多