0
我有一個表,它包含以下列:id, text, parentid
。並且當一行是根項目(不具有任何父項目)時,則parentid = 0
。在SQLite中實現某種簡單的循環
我想要做的,是找到一個特定項目的第一個根(根的項目根)的text
。
下面是一個例子:
SELECT parentid FROM cat WHERE id = 1234 --returns 1120
SELECT parentid FROM cat WHERE id = 1120 --returns 1011
SELECT parentid FROM cat WHERE id = 1011 --returns 0. So this the first root.
SELECT text FROM cat WHERE id = 1011 --returns what I want.
我知道這是很容易可能的循環,但我使用sqlite
它不支持循環。
所以,問題是,有沒有辦法在sqlite
中執行此操作,而不使用任何其他腳本?
您可以使用[遞歸CTE(http://sqlite.org/lang_with.html) – Blorgbeard
@Blorgbeard我不能啓動了解它是如何工作的。你能否再解釋一下,並將其作爲答案發布? –
糟糕,在這個例子中出了點問題。 (最後一個查詢,數字應該是1101而不是1120)我剛剛編輯它。 –