我有这样的背景:
CREATE TABLE `atdees` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`params` text NOT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `atdees` (`id`, `params`) VALUES
(1,'{"field282":"0","field347":"1"}'),
(2,'{"field282":"0","field347":"0"}'),
(3,'{"field282":"0"}');
我必须从表中提取以下行:
- atdee 必须具有字符串 '"field282":"0"'
- atdee 有字符串 '"field282":"0"' 但没有字符串 '"field347":"0"'
- atdee 同时具有字符串 '"field282":"0"' 和 '"field347":"0"'
换句话说,我必须提取 Id 2 和 3。
谢谢你。
Ps:对不起我的英语,我不是母语人士;)
编辑:我找到了我的查询
SELECT id
FROM atdees
WHERE
INSTR(`params`, '"field282":"0"') > 0 and
( params LIKE '%"field347":"0"%' OR
INSTR(`params`, '"field347"') = 0 )