想做一个从7个表查询关键字的半模糊查询

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:47:51
就想从(1-7)7个表中查询a,b,c,d 4个字段.
其中有一个字段是关键字.
就拿keywords当例子吧.我的要求只是查询一个字段的keywords就好了。请问要写sql语句要怎么写?
我就是想做一个asp页面的小型搜索引擎.要求有左右连接的那种..
比如查询:大
会搜索到大象..等等
或查询:大小
搜索到很大..
---------------------------------

2楼的不是我想要的..我就是想要个带左右连接的小型的单个字段查询的引擎

和数据库视图没有太大关系吧..
----------------------------------------

还有我这7个表是相互关联的.也就是有一个id值能把7个表关联起来.
3楼的答案离我的要求很近了.
我想
select * from table_1 a left join table_2 b left join table_3 c .... on a.xx=b.xx=c.xx .... where a.cs1 like '%da%' and b.cs2 like '%da%' and c.cs3 like '%da%' ....

这样就可以么?
谢谢您了.成功我就送分了~~
-----------------------------------------
4楼的答案不是我想要的。.
我就是想要一个能够把7个表关联起来的语句。然后来个模糊查询就好了.
现在这7个表都有一个name字段.而要模糊查询的也是这个name字段。
请问要是写的话该怎么写?请讲的细点~我是新手..

不太明白这是搞什么呢.
试试
select a,b,c,d from t_1 where keywords like '%大%'
union all
select a,b,c,d from t_2 where keywords like '%大%'
union all
select a,b,c,d from t_3 where keywords like '%大%'
...

select a,b,c,d from t_1 where keywords like '%大%'
union
select a,b,c,d from t_2 where keywords like '%大%'
union
select a,b,c,d from t_3 where keywords like '%大%'
....
用union all的话会把重复的记录也查询出来,所以建议使用
union,这样sql会自动过滤掉重复的记录

% :代表多个字符 比如 WHERE 姓名 LIKE '张%'
会搜到 张三,或者 张蒙达 等人

_ :代表单个字符 比如 WHERE 姓名 LIKE '张_'
这样只能搜到两个字姓名的人 比如 张贺

当然'%a' '_b'这样写也可以 ,这样就会搜到以a结尾的 或以b结尾的元组

当然你要'_a_' '%a%' 这样也行的

select a from tablename a where a.字段名 like '%大%'

如果你想把几个表关联起来就再加上表以及关联的字段了。
对于你的问题我只能理解到这种程度了。

不明白什么意,
一般的复杂的SQL语句不如写成存储过程
能建个视图也可以

select * f