我很困惑编写MYSQL查询。
我正在努力实现的目标
CREATE TABLE paypal_ipn_orders
(`id` int, `name` varchar(15), `neighbor` varchar(100), `color` varchar(30) );
INSERT INTO paypal_ipn_orders
(`id`, `name`, `neighbor` `desc` )
VALUES
(1, 'roy', 'niclo', black),
(2, 'fosa','kol(niclo)', blue)
(3, 'hojo','niclo(abc)', green)
(4, 'sdojo','xxx(kkk)', osl)
看到在niclo和kol(niclo)中的邻居中,我要执行的操作是合并或合并数据(如果邻居等于或在括号内或在括号外),而仅通过SQL查询
所以它将变得像
(1, 'niclo', 'hojo roy fosa',black blue green)
有什么办法可以通过sql查询吗? 最佳答案
我认为您可以在这里使用LIKE
运算符:
SELECT
'niclo',
GROUP_CONCAT(name),
GROUP_CONCAT(color)
FROM paypal_ipn_orders
WHERE
neighbor LIKE 'niclo(%' OR
neighbor LIKE '%(niclo)' OR
neighbor = 'niclo'
演示在这里:
Rextester
关于mysql - MYSQL:如果名称存在于方括号内或方括号内,则合并/Concat数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44698677/