如果搜索字符串与2列匹配,则多次返回同一行 - Mysql

时间:2013-12-20 09:58:52

标签: php mysql

我正在尝试显示下表中的结果

 id | string1 | string2

  1 | mysql   | php

  2 | mysql   | mysql

  3 | python  | java

我已经尝试过查询

    SELECT id, string1
    FROM test 
    WHERE string1 LIKE '%mysql%' or string2 LIKE '%mysql%'

如果我从列string1和string2中搜索表中的字符串'mysql',我希望得到结果

1 mysql

 2 mysql

 2 mysql

行ID 2应该多次显示,因为“mysql”出现在2列(string1和string2)中。

是否有任何可行性列出如上所述的结果。

注意:我不想使用UNION all

由于

1 个答案:

答案 0 :(得分:0)

您可以编写两个单独的查询,然后使用UNION ALL关键字将它们连接起来。如下所示:

SELECT id, string1
FROM test 
WHERE string1 LIKE '%mysql%'

UNION ALL

SELECT id, string2
FROM test 
WHERE string2 LIKE '%mysql%';