duanlv5084 2014-08-20 18:53
浏览 60
已采纳

将两行合并为一个字符串

i have dynamic database, and i want to search in this table

FieldID | Content | TypeID
--------------------------
ABC-123 | jon     | 1
EFG-456 | doe     | 1
HIJ-789 | man     | 1

So my SELECT query looks something like this:

SELECT 
    GROUP_CONCAT(fieldsContent.Content SEPARATOR '|*|') AS Content, 
    GROUP_CONCAT(fieldsContent.FieldID SEPARATOR '|*|') AS FieldID, 
FROM (`customers`) 
LEFT OUTER JOIN `fieldsContent` ON `fieldsContent`.`TypeID` = `customers`.`ID` 
GROUP BY `fieldsContent`.`TypeID` 
ORDER BY `customers`.`Created` DESC

And the result looks like this

Array
(
    [0] => stdClass Object
        (
            [Content] => jon|*|doe|*|man
            [FieldID] => ABC-123|*|EFG-456|*|HIJ-789
        )
)

And when i'm adding HAVING and searching only for jon, it will return me the result

HAVING Content LIKE "%jon%" 

But, when i'm trying to search jon doe it will return empty result

HAVING Content LIKE "%jon doe%"

Because jon doe don't exists in the string, only jon|*|doe

So how can i combine these two rows to one string without the SEPARATOR for me the search in them jon doe ?

BUT!! keep in mind that i need to obtain the SEPARATOR because i need to combine the data to be used in php.

ex:

$field = explode('|*|',$data->FieldID);
$content = explode('|*|',$data->Content);

foreach($field as $k => $FieldID){
    switch($FieldID){
        case 'ABC-123':
            $res['first_name'] = $content[$k];
        break;
        case 'EFG-456':
            $res['last_name'] = $content[$k];
        break;
        case 'HIJ-789':
            $res['gender'] = $content[$k];
        break;      
    }
}

Any ideas will be appreciated :)

  • 写回答

2条回答 默认 最新

  • doubei3312 2014-08-20 18:59
    关注

    TRY THIS #1

    HAVING Content LIKE "%jon%doe%"
    

    TRY THIS #2

    HAVING Content LIKE "%jon" AND Content LIKE "%doe%"
    

    TRY THIS #3

    HAVING REPLACE(Content,'|*|',' ') LIKE "%jon doe%"
    

    GIVE IT A TRY !!! :-)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?