【发布时间】:2011-07-24 04:06:37
【问题描述】:
我已经创建了表格并将分层数据存储在其中。该表与给定的this answer 完全相同。还有一些检索查询。
但我想列出表格中所有可能的路径。查询是什么?
输出应该是 -
根 根/目录2 根/目录3 根/目录4 根/目录5 ROOT/Dir3/Dir6 ROOT/Dir5/Dir7....(顺序无关紧要)
【问题讨论】:
标签: sql sqlite hierarchical-data
我已经创建了表格并将分层数据存储在其中。该表与给定的this answer 完全相同。还有一些检索查询。
但我想列出表格中所有可能的路径。查询是什么?
输出应该是 -
根 根/目录2 根/目录3 根/目录4 根/目录5 ROOT/Dir3/Dir6 ROOT/Dir5/Dir7....(顺序无关紧要)
【问题讨论】:
标签: sql sqlite hierarchical-data
您想通过在查询中重复添加左连接来伪造无限的深度或高度。仅当您确切知道树的高度或为自己设置了限制时,这才有效。
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
【讨论】: