回 帖 发 新 帖 刷新版面

主题:2个表 匹配的问题

有个简单的问题

access数据库 data.mdb
如有2个表

A表 2个字段  号码 名称  (可能会多次重复)
B表 2个字段  名称 数量

想在ASP文件里生成一个表格根据A表顺序,可能会重复显示,显示 号码 名称 数量

如何写asp SQL 语句呢。
谢谢

回复列表 (共12个回复)

沙发

declare @a table(号码 char(10),名称 char(10))
insert @a select 1,'aaa'
union all select 10,'bbb'
union all select 10, 'bbb'
union all select 11, 'ccc'


declare @b table(名称 char(10),数量 char(10))
insert @b select 'bbb',2
union all select 'ccc',3
select a.号码,a.名称,b.数量 FROM @a a INNER JOIN @b b ON a.名称=b.名称

板凳


谢谢

如果我想用这种形式的,好像一直不行

          <% set rsc=server.createobject("adodb.recordset")
 sql="select * from b where 名称="&名称&" "
 rsc.open sql,conn,3,2
%>

<%=rsc("数量")%>

3 楼

应该可以, <% set rsc=server.createobject("adodb.recordset")
 sql="select * from b where 名称="&名称&" "
 rsc.open sql,conn,3,2
%>

a=<%=rsc("数量")%>再打开另个表

 <% set rsc1=server.createobject("adodb.recordset")
 sql="select * from b where 名称="&名称&" "
 rsc1.open sql,conn,3,2
%>

b<%=rsc1("数量")%>
交换ab

4 楼


就是因为不行

可能是不是 因为 A表 里面名称会有多条相同的。

有办法解决么?

5 楼

不明白你要得到的结果是什么?如果是不重复用
select *from (select a.号码,a.名称,b.数量 FROM @a a INNER JOIN @b b ON a.名称=b.名称) c group by 号码,名称,数量

6 楼

会重复引用。 用2个表都用这样写去应用,用名称匹配名称 就会有问题。
如果我把B表中 名称改成号码,用号码去匹配就正常。
不知道是为什么

<% set rsc=server.createobject("adodb.recordset")
 sql="select * from b where 名称="&名称&" "
 rsc.open sql,conn,3,2
%>

a=<%=rsc("数量")%>

7 楼

sql="select * from b where 名称="&名称&" "
这名一看就错,应为
 sql="select * from b where 名称='"&名称&"'"

8 楼

谢谢,可是还不行
BTW
多一个 ' 和没有 ' 有什么区别呀?

9 楼

你这个“名称”是怎么赋值的,一般都很少用中文作变量

10 楼

access 建表的时候 类型选 文本

在asp里面 没有定义

我来回复

您尚未登录,请登录后再回复。点此登录或注册