| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 792 人关注过本帖
标题:[求助]多表查询问题
只看楼主 加入收藏
dushui265
Rank: 1
等 级:新手上路
威 望:2
帖 子:227
专家分:0
注 册:2007-9-28
收藏
 问题点数:0 回复次数:14 
[求助]多表查询问题

现有多个表table1,table2,table3,他们中的字段名全都相同
我想从这四个表中实现某一字段的模糊查询,如字段name
大家帮我看下,那里错了
sql="select 20 * from table1,table2,table3 where table1.name like '%"&request.form("content")&"%'"
and table2.name like '%"&request.form("content")&"%'" and table3.name like '%"&request.form("content")&"%'"

搜索更多相关主题的帖子: 查询 
2007-10-28 14:34
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
sql="select top 20 * from table1,table2,table3 where table1.name like '%" & request.form("content") & "%'
and table2.name like '%" & request.form("content") & "%' and table3.name like '%" & request.form("content") & "%'"

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-28 15:43
dushui265
Rank: 1
等 级:新手上路
威 望:2
帖 子:227
专家分:0
注 册:2007-9-28
收藏
得分:0 
好像还是一样啊,总是出现大量重复的记录?

2007-10-28 15:58
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

当然了.因为产生的迪卡尔积了.


我的msn: myfend@
2007-10-28 16:17
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
收藏
得分:0 
sql="select 20 * from table1,table2,table3 where table1.name like '%"&request.form("content")&"%'"
and table2.name like '%"&request.form("content")&"%'" and table3.name like '%"&request.form("content")&"%'"

这三个表之间存在着关系吗?

如果存在:

后面加上相关联的字段

如:table1中的id与table2的id关联 table1中的id与table3的id关联

sql="select 20 * from table1,table2,table3 where table1.name like '%"&request.form("content")&"%'"
and table2.name like '%"&request.form("content")&"%'" and table3.name like '%"&request.form("content")&"%' and table1.id=table2.id and table1.id=table3.id"

改变一切,须从改变观念开始!
2007-10-28 17:09
dushui265
Rank: 1
等 级:新手上路
威 望:2
帖 子:227
专家分:0
注 册:2007-9-28
收藏
得分:0 
三个表没有关系吧,都是有一样的字段,ID是自动编号,就好像是一个表,现在把它分成了两个表来存储,现在怎么来关联他们呢?

2007-10-28 19:36
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
楼主想达到什么样的效果呢?(就是你的搜索结果希望是怎么样呢?)
2007-10-28 20:04
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
以下是引用dushui265在2007-10-28 19:36:05的发言:
三个表没有关系吧,都是有一样的字段,ID是自动编号,就好像是一个表,现在把它分成了两个表来存储,现在怎么来关联他们呢?

按你这么说.
那应该用union all了.
select f1,f2 from table1 where name ='xxx'
union all
select f1,f2 from table2 where name ='xxx'
union all
select f2,f2 from table3 where name ='xxx'


我的msn: myfend@
2007-10-28 20:12
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
以下是引用purana在2007-10-28 20:12:25的发言:

按你这么说.
那应该用union all了.
select f1,f2 from table1 where name ='xxx'
union all
select f1,f2 from table2 where name ='xxx'
union all
select f2,f2 from table3 where name ='xxx'

同意这个写法,我也想用union解决这个问题。
随便问下楼上的,你怎么变成男孩了?
见过你的贴子,还想向你请教sql server呢?

2007-10-28 20:35
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
这里都是讨论学术研究的.性别不重要...
SQL Server我也是初学.很多东西也不懂.不过可以一起研讨..

我的msn: myfend@
2007-10-28 20:47
快速回复:[求助]多表查询问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029168 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved