MariaDB 动态列嵌套
MariaDB Dynamic Column Nesting
我已经找了几个小时了。我已经设置了一个 MariaDB 服务器并正在实施动态列,我知道该怎么做,但我似乎无法找到如何深入一层以上。
INSERT INTO Invoices (Invoice) VALUES (
COLUMN_CREATE ('Monthly Fee', 500)
);
这行得通,但我需要的是能让我拥有类似以下内容的东西 SELECT for JSON:
{
"services": {
"Monthly Fee": 500,
"OnSite": {
"Units": 10,
"Rate": 35
},
"Mileage": {
"Units": 181.8,
"Rate": 0.5
},
"Hard Drive Purchase": {
"Units": 1,
"Rate": 68.99
}
}
}
我只是不知道如何让键的值成为另一个具有自己的 key:value 对的动态列。
我试过:
INSERT INTO Invoices (Invoice) VALUES (
COLUMN_CREATE ('Monthly Fee', 500,
'OnSite',
COLUMN_CREATE('Units',10,'Rate','35')
)
);
在我需要的地方嵌套。我希望这是可能的,我只是有一个简单的语法错误。
如有任何帮助,我们将不胜感激。
对于可能正在尝试解决这个问题的任何人:
这是一个语法错误。以下语法为我提供了所需的内容:
SET @tmp = column_create (
'services',
column_create (
'RMM',
column_create ('Rate', 650),
'OnSite',
column_create ('Units', 10, 'Rate', 35),
'Mileage',
column_create ('Units', 181.8, 'Rate', 0.50),
'Hard Drive Purchase',
column_create ('Units', 1, 'Rate', 68.99)
)
);
SELECT
COLUMN_JSON (@tmp);
我已经找了几个小时了。我已经设置了一个 MariaDB 服务器并正在实施动态列,我知道该怎么做,但我似乎无法找到如何深入一层以上。
INSERT INTO Invoices (Invoice) VALUES (
COLUMN_CREATE ('Monthly Fee', 500)
);
这行得通,但我需要的是能让我拥有类似以下内容的东西 SELECT for JSON:
{
"services": {
"Monthly Fee": 500,
"OnSite": {
"Units": 10,
"Rate": 35
},
"Mileage": {
"Units": 181.8,
"Rate": 0.5
},
"Hard Drive Purchase": {
"Units": 1,
"Rate": 68.99
}
}
}
我只是不知道如何让键的值成为另一个具有自己的 key:value 对的动态列。
我试过:
INSERT INTO Invoices (Invoice) VALUES (
COLUMN_CREATE ('Monthly Fee', 500,
'OnSite',
COLUMN_CREATE('Units',10,'Rate','35')
)
);
在我需要的地方嵌套。我希望这是可能的,我只是有一个简单的语法错误。
如有任何帮助,我们将不胜感激。
对于可能正在尝试解决这个问题的任何人:
这是一个语法错误。以下语法为我提供了所需的内容:
SET @tmp = column_create (
'services',
column_create (
'RMM',
column_create ('Rate', 650),
'OnSite',
column_create ('Units', 10, 'Rate', 35),
'Mileage',
column_create ('Units', 181.8, 'Rate', 0.50),
'Hard Drive Purchase',
column_create ('Units', 1, 'Rate', 68.99)
)
);
SELECT
COLUMN_JSON (@tmp);