SELECT * FROM $ table WHERE what = $ x?

时间:2014-09-17 14:00:24

标签: mysql

我有一个非常简单的问题。

是否可以从表格中选择*,其中数据集中的任何值都等于我的搜索词?

例如为: 搜索词是" car",我有一个包含x,y和z列的数据库。 sql_query应该搜索单词" car"在所有3列中,而不仅仅是其中一列(其中X =汽车)。

这可能吗?

我的建议是:SELECT * FROM $Table WHERE % = $x - 是吗?我还没有选择测试它。

感谢。

3 个答案:

答案 0 :(得分:1)

尝试此查询

   SELECT * 
   FROM $table 
   WHERE column1 
   LIKE '%$search_word%' or column2 LIKE '%$search_word%' or  column3 LIKE '%$search_word%' 

答案 1 :(得分:1)

以下是您正在寻找的查询:

SELECT *
FROM yourTable T
WHERE T.x = 'yourTerm'
    OR T.y = 'yourTerm'
    OR T.z = 'yourTerm'

此查询仅返回其中一列等于搜索的字词的行。如果您希望获得包含包含搜索字词的列的每一行,则以下是查询:

SELECT *
FROM yourTable T
WHERE T.x LIKE '%yourTerm%'
    OR T.y LIKE '%yourTerm%'
    OR T.z LIKE '%yourTerm%'

希望这会对你有所帮助。

答案 2 :(得分:-2)

SELECT * FROM table_name WHERE CONCAT(col1,',',col2,',',col3)LIKE'%search_term%';