我很困惑编写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/

10-10 06:48