我在表(病人)中的(sqlite db)中有条目,包含(id,nom,pnom,ddn,date,bilan,ordonnance)
e.g。 1行结构:
<table border="1">
<tr>
<td>id</td><td>nom</td><td>pnom</td><td>ddn</td><td>date</td><td>bilan</td><td>ordonnance</td>
</tr>
<tr>
<td>1</td><td>Someone</td><td>Someone</td><td>12/12/1992</td><td>12/01/2016</td><td>?12/01/2016!dat goes here?15/01/2016!dat goes here?nn/nn/nnnn!nnn goes here</td><td>?12/01/2016!dat goes here?15/01/2016!dat goes here?nn/nn/nnnn!nnn goes here</td>
</tr>
</table>
我创建了两个表“bilan”和“ordonnance”,它们都包含
id, pid, date, data
使用sql可以:
select id, bilan from patient
然后
insert into bilan (pid, date, data) Values (patient.id, '12/01/2016', 'dat goes here');
insert into bilan (pid, date, data) Values (patient.id, '15/01/2016', 'dat goes here');
insert into bilan (pid, date, data) Values (patient.id, 'nn/nn/nnnn', 'nnn goes here');
与“ordonnance”相同的事情
答案 0 :(得分:0)
我没有SQLlite来测试它,它改编自this answer
PUB.movement
答案 1 :(得分:0)
问题可能并不清楚。 例如,这是一个列的例子:&#34; bilan&#34;来自id:&#34; 17&#34;在表格&#34;患者&#34;
2014年8月1日0 |?!1 | 0 | 1 | 0 | 0 2015年4月3日1 |?!1 | 1 | 1 | 1 |?!0 24/11/2016 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0
在表bilan中,想要的结果是那三行:id:1 pid:17 日期:2014年1月8日 数据:0 | 1 | 0 | 1 | 0 | 0
id:2 pid:17 日期:04/03/2015 数据:1 | 1 | 1 | 1 | 1 | 0
id:3 pid:17 日期:2016年11月24日 data:0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0
我在申请中的插入声明是:
"UPDATE patient SET bilan = ifnull(bilan || '?" + today_ +"!" +$s+"', '?" + today_ +"!" +$s+"') WHERE ID="+oCurrent.id;
我做了这个解决方案:
Update patient set bilan=bilan|| '?' where bilan is not null;
然后:
--steps from here to be repeated untill all bilan are null
insert into bilan ( pid, date, data )
SELECT id,
substr(bilan, instr(bilan, '?')+1 , instr(bilan, '!') -2),
substr(
substr(bilan, instr(bilan, '!')+1),
1,
instr( substr(bilan, instr(bilan, '!')+1), '?')-1
)
FROM patient where bilan is not null;
--next
Update patient
set bilan = substr(
substr(bilan, instr(bilan, '?')+1),
instr(substr(bilan, instr(bilan, '?')+1), '?')
)
where bilan is not null;
--next
Update patient set bilan = NULL where bilan ='?';
--end