日期:2014-05-16  浏览次数:20797 次

两张表关联问题

表lb
id      mc      fid
1      珠心算    0
2      启蒙      1
3      普通      1
4      预备上    2
5      一阶      3

表zt
id       bt        lb1          lb2         lb3
1      哈哈哈       1            2           4
2      呀呀呀       1            3           5

下面红色部分怎么写才正确?照我现在的写法会出现三个“哈哈哈”和三个“呀呀呀”
<%Set rs = Server.CreateObject("ADODB.Recordset")
rs.open "select zt.id as ztid,lb.mc,zt.bt from zt,lb where zt.lb1=lb.id or zt.lb2=lb.id or zt.lb3=lb.id",conn,1,3%>
。。。。。循环
<tr><td>[<%=rs("mc")%>] <%=rs("bt")%>]</td></tr>
。。。。。。。循环结束

------解决方案--------------------
这样的表设计,真不知道该怎么说

你直接加一个group by bt 这样的分组来弄了
------解决方案--------------------
你想得到几个,你想做什么,你实现什么
------解决方案--------------------
select * from zt a left join lb b on a.id=b.id or a.lb2=b.id or a.lb3=b.id
------解决方案--------------------
楼主,你这个需求很难理解啊,为什么点珠心算则右侧列出:【预备上】哈哈哈
从你的表结构上看不出明显的逻辑关系啊!