我要做的是以下内容:我有一个包含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匹配在一起。
答案 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