当前位置:数据库 > SQLServer >>

MSSQL查询问题?高手请进~

现在的代码是这样的: intPageSize=10 strPageUrl="jc_product.asp?F="&request("F")&"&S="&request("S")&"" SQLSelect="select a.I_JCID,a.I_MemberID,a.C_JCName,a.C_Img,a.C_Price,a.C_Description,a.DT_AddDate,a.L_Check,b.C_CompanyName,b.C_Provice,b.C_City from TB_JCProducts as a inner join TB_Company as b on a.I_MemberId=b.I_MemberID" SQLWhere=" where 1=1" if F<>"" then SQLWhere=SQLWhere&" and I_Class1="&F&"" end if if S<>"" then SQLWhere=SQLWhere&" and I_Class2="&S&"" end if SQLOrder=" order by I_JCID desc" TB_JCProducts 是产品的表 TB_Company 是对应公司的表 现在是想查询出TB_JCProducts中不相同的公司名称的值,公司名称在TB_Company(字段名为C_CompanyName) 这样做的目的是,在产品列表的右边,显示出相关公司的名称,但是一个公司添加了很多产品,所以要显示不相同的值。 请高手帮忙! 试了用count(distinct name)但不成功。
答案:外部连接和自联接
inner join(等值连接) 只返回两个表中联结字段相等的行
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
on 指定表间联结字段及其关系的等号 "=" 表达式, 返回 true 或 false. 当表达式返回 true 时, 则查询中包含该记录. 

你可以将 inner join 替换成 right join

上一个:mssql中,如何返回指定第几到第几条之间的记录
下一个:速海网络的MSSQL数据库支持远程在线管理吗?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,