我有一张桌子,结构如下。
CREATE TABLE `layout` (
`id` int(11) NOT NULL,
`title` varchar(100) NOT NULL,
`slug` varchar(100) NOT NULL,
`structure` json NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
名为structure
的字段包含以下数据。
[{"Field":"Name","Type":"Text"},{"Field":"DOB","Type":"Date"}]
我想运行查询,我给出“字段”值,然后得到“类型”值。
答案 0 :(得分:0)
尝试:
SET @`Field` := 'Name';
SELECT
`id`,
JSON_UNQUOTE(
JSON_EXTRACT(
`structure`,
JSON_UNQUOTE(
REPLACE(
JSON_SEARCH(
`structure`,
'one',
@`Field`,
NULL,
'$[*].Field'
),
'Field',
'Type'
)
)
)
)
FROM
`layout`;
请参阅db-fiddle。