我正在尝试写一个查询,以返回所有有一个以上etapesSupervision
的列车。
我的表有一个名为DETAIL
的列,在本专栏中我可以找到我的火车的JSON。
"nomTrain": "EVOL99",
"compositionCourtLong": "LONG",
"sillons": [{
"numeroTrain": "EVOL99"
}],
"sillonsV4": [{
"refSillon": "sillons/4289505/2"
}],
"branchesStif": [{
"data": "49",
"data": "BP",
"data": "ORIGINE"
} ],
"etapesSupervision": [{
"data": "PR/0087-758896-00",
"data": "PR/0087-758607-BV",
"superviseur": "1287",
"uoSuperviseur": "B"
},
{
"data": "PR/0087-758607-BV",
"data": "PR/0087-001479-BV",
"superviseur": "1287",
"uoSuperviseur": "B"
}],
这是我写的查询:
select * from course where CODE_LIGNE_COMMERCIALE='B'
--and ref = 'train/2018-11-12'
and instr(count(train.detail,'"etapesSupervision":'))> 1 ;
使用这个,我返回只有一个etapesSupervision
的列车。
问题是列DETAIL
是JSON,所以我觉得我不能用它做很多事情。
我也试过like
,但它也不起作用。
谢谢您的意见。这是有效的查询:
select data,data,data
from train
where
length(DETAIL) - length(replace(DETAIL,'uoSuperviseur',null)) > 20 ;
这样我只有一个以上的主管。
再次感谢