2016-05-31 51 views
0

我有一个数据库表,其中包含人的指纹(template列在这里),每个人可以引入2个手指,所以同一个人必须有2个记录。 下面是表:合并一行中的MySQL数据库表的每2行

enter image description here

人与ID '275' 具有2个记录,对每一个单个手指。 现在,我使用了Talend创建一个表,所以我可以在一个单一的一个每两个指纹合并,我的意思是排N°37和38将在单行和template列将级联,只有一个person_id

+0

什么是你的问题? –

+0

如何将单个人的每个2个指纹合并为一行? –

回答

0

你可以尝试这样的事情:

INSERT INTO newtable (ids, person_id_integer) 
SELECT CONCAT(finger1.id, "|", finger2.id), finger1.person_id_integer 
FROM oldtable finger1, oldtable finger2 
where finger1.person_id_integer = finger2.person_id_integer 
and finger1.id <> finger2.id 

当然,depnds你想如何存储新数据

:)

+0

谢谢@Enrique的解决方案,实际上我找到了一个解决方案,它可以工作,我会将它作为响应发布,所以只要有人需要它就可以找到它;) –

0

我找到了一个解决方案: enter image description here

我加入了同一个表两次输入和输出一样显示在这张照片,并第一次与此查询脱口说:

select FP_ID, FP_DEVICE, group_concat(FP_FINGER_PRINT SEPARATOR ''),FP_EMPLOYEE_ID 
from t_finger_print GROUP BY FP_EMPLOYEE_ID;