使用单个参数的2列的mysql搜索查询

时间:2013-08-30 10:07:37

标签: mysql

我是数据库新手。在mysql数据库中,我有一个表course。我的问题是:如何搜索course_name和course_description列中的所有相关单词,我需要获取两列中所有匹配的单词?任何人都可以告诉我sql查询吗?我试过写一个查询,但是我遇到了一些语法错误。

+----------+-----------+-----------------+------------+------------+
| courseId | cname     | cdesc           | sdate      | edate      |
+----------+-----------+-----------------+------------+------------+
|      301 | physics   | science         | 2013-01-03 | 2013-01-06 |
|      303 | chemistry | science         | 2013-01-09 | 2013-01-09 |
|      402 | afm       | finanace        | 2013-01-18 | 2013-01-25 |
|      403 | English   |  language       | 2013-01-17 | 2013-01-24 |
|      404 | Telugu    | spoken language | 2013-01-10 | 2013-01-22 |
+----------+-----------+-----------------+------------+------------+

3 个答案:

答案 0 :(得分:2)

SELECT * from course WHERE cname ='%searchtermhere%'AND cdesc ='%searchtermhere%'

添加百分比%会在每个值中进行搜索,而不仅仅是以。

开头

答案 1 :(得分:0)

因为你说单个参数我猜。您将获得“科学”作为输入或“物理”作为输入。然后你可以简单地使用'OR'。

select * from course where cname = (Input) or cdesc = (Input)

答案 2 :(得分:0)

如果您想搜索确切的字词

SELECT * FROM course WHERE cname ='word' AND cdesc = 'word'

或者你也可以找到每个值,而不仅仅是从开始。

SELECT * FROM course WHERE cname = '".%searchtermhere%."' AND cdesc = '".%searchtermhere%."'