0
我有一個SQLite表,其中一列包含一個包含0或更多值的JSON數組。事情是這樣的:具有JSON1的遞歸SQLite CTE json_each
id|values
0 |[1,2,3]
1 |[]
2 |[2,3,4]
3 |[2]
我想要做的是「展開」這個到包含該列的陣列內的所有不同值的列表。
首先,我使用的JSON1擴展的json_each函數從行提取的值表:
SELECT
value
FROM
json_each(
(
SELECT
values
FROM
my_table
WHERE
id == 2
)
)
在哪裏可以改變ID(2,上文),以在表中選擇任何行。
現在,我正在嘗試在遞歸CTE中包裝它,以便我可以將它應用於整個表中的每一行並將結果合併。作爲第一步我複製(粗略地)從上面的結果如下:
WITH RECURSIVE result AS (
SELECT null
UNION ALL
SELECT
value
FROM
json_each(
(
SELECT
values
FROM
my_table
WHERE
id == 2
)
)
)
SELECT * FROM result;
作爲下一個步驟我原本打算使ID的變量並加一(以類似的方式在第一示例documentation,但一直未能得到它的工作
我已經通過文檔中的其他示例,但它們有點更復雜,我一直無法提煉出來,看看它們是如何可能適用於這個問題
有人可以提供一個簡單的例子來說明如何解決這個問題(或類似的問題問題)與遞歸CTE?
當然,我的目標是具有或不具有熱膨脹係數要解決的問題因此Im也高興地聽到,如果有一個更好的辦法...
事實上,一個更好的解決方案。非常感謝 – gary