我在NodeJS上使用SQLite3,我在記憶體中有一個資料庫用于測驗目的,其中 table1 和 table2 之間存在關系。fktable2 中的欄位是idtable1 中的欄位。
表格1
| ID | 值1 | 值2 |
|---|---|---|
| 1 | v1_t1 | v2_t1 |
表2
| ID | 值1 | fk |
|---|---|---|
| 1 | v1_t2 | 1 |
| 2 | v2_t2 | 1 |
當我運行此查詢時:
SELECT * from table1 t1 INNER JOIN table2 t2 ON t2.fk=t1.id WHERE t1.id=1;
結果是
[
{
id: 1,
value1: v1_t2,
fk:1
},
{
id: 2,
value1: v2_t2,
fk:1
}
]
但我想要這樣的東西:
[
{
fk: 1,
value1: "v1_t1",
value2: "v2_t1",
result: [
{
id: 1,
value1: "v1_t2",
fk: 1
},
{
id: 2,
value1: "v2_t2",
fk: 1
}
]
}
]
這可以使用SQLite還是應該使用無關系資料庫?
提前致謝。
uj5u.com熱心網友回復:
您可以使用 SQLite 的JSON1 擴展函式:
SELECT json_object(
'fk', t2.fk,
'value1', t1.value1,
'value2', t1.value2,
'result',
json_group_array(json_object('id', t2.id, 'value1', t2.value1, 'fk', t2.fk))
) col
FROM table1 t1 INNER JOIN table2 t2
ON t2.fk = t1.id
WHERE t1.id = 1;
請參閱演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/324633.html
標籤:sqlite 加入 节点-sqlite3
上一篇:如何使用pandas連接具有相同列名但具有不同資料的兩個表?
下一篇:合并R中的資料框而不重復
