同时合并和连接数据

时间:2013-02-12 11:58:51

标签: mysql concat

我要做的是以下内容:我有一个包含3个cols的数据库,这些数据库共同构成了一个独特的组合。我将这个组合提取到一个新表(表1)。现在,我想将单独列中存在的数据与唯一的3 col组合进行匹配。例如:

cat dog day twenty two
cat dog day twenty eleven
cat dog morning eleven ten

应该成为

cat dog day "twenty=two&twenty=eleven"
cat dog morning "eleven=ten"

作为额外的评论,我应该补充一点,我无法预测应该连接多少项。

我尝试了以下内容:字符串字段应该使用val3,val4和val5的唯一组合的所有结果的concat进行更新。

UPDATE `db`.`table1` , `db`.`table2`
SET
string = 
(
SELECT group_concat(value1,'=',value2,'&') from table2
group by (val3,val4,val5)
)
WHERE 
(
`table1`.`val3`=`table2`.`val3` AND
`table1`.`val4=table2`.`val4` AND
`table1`.`val5=table2`.`val5`)
;

提示或提示将非常感激。提前出发。 供参考:Solution对我来说不起作用,因为我正在使用mySQL,我需要将2个col匹配在一起。

1 个答案:

答案 0 :(得分:0)

鉴于此数据结构:

CREATE TABLE `dummy` (
  `col1` varchar(20),
  `col2` varchar(20),
  `key` varchar(20) DEFAULT NULL,
  `val` varchar(20) DEFAULT NULL
);

以下查询将为您提供所需内容:

select col1, col2, group_concat(concat(`key`,'=', `val`) SEPARATOR '&') from dummy group by col1, col2