0

我是数据库新手。在 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 |
+----------+-----------+-----------------+------------+------------+
4

3 回答 3

2

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

添加百分比 % 会在每个值内进行搜索,而不仅仅是从开始。

于 2013-08-30T10:13:52.800 回答
0

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

select * from course where cname = (Input) or cdesc = (Input)
于 2013-08-30T10:14:15.700 回答
0

如果您想搜索确切的单词

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

或者,您还可以找到每个值,而不仅仅是从头开始。

SELECT * FROM course WHERE cname = '".%searchtermhere%."' AND cdesc = '".%searchtermhere%."'
于 2013-08-30T10:17:44.387 回答