求ASP和SQL2005中Left join一个问题 不能显示全记录。

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:19:10
ASP在使用SQL2005,Left join时,无法全部显示左表数据。

产品表1:Product_M ,分类表2:Modality_M
Product_M字段:ID,Modality_ID
Modality_M字段:ID,Title

想要显示所有Product_M记录,并且显示分类名称Modality_M.title,如果Product_M找不到合适的分类记录,直接显示空值。我采用了以下方法。在SQL2000中可以显示所有Product记录,分类全为空值,但在SQL2005中,不能全部显示产品记录,也就是找不到其分类记录就直接不显示产品了。请问如何解决? 非常感谢!!!

set rs=server.CreateObject("adodb.recordset")
rs.open "select * from Product_M LEFT JOIN Modality_M on Product_M.Modality_id=Modality_M.id ",conn,1,1
do while not rs.eof and not rs.bof
response.Write(rs("id"))
rs.movenext
loop
奶奶个熊! 问了百度不知道,问了CSDN也不知道,我自己终于试出来原因! 成功!! 哈哈!~~~~ 天才……

原因是,Conn,1,1 让SQL2005指针只能向下移,不能向上移,改成Conn,2,1就OK了! 哈哈~~

额,或者你设置数据库表中的主键字段进行了设置,ASP中就能显示了。

http://www.w3school.com.cn/ 有关于left jion 语句的介绍