create table t_Product(proid int,proname varchar(10))
insert into t_Product values(1,'产品1')
insert into t_Product values(2,'产品2')
insert into t_Product values(3,'产品3')
create table t_Click(clickid int,proid int,clickrate int)
insert into t_Click values(1,1,57)
insert into t_Click values(2,2,22)
insert into t_Click values(3,3,110)
select a.* from t_Product a left join t_Click b on a.proid=b.proid order by b.clickrate desc
proid proname
----------- ----------
3 产品3
1 产品1
2 产品2
(3 行受影响)
select a.proID, a.proName, isnull(b.clickRate, 0) as clickRate
from t_Product a left join t_Click b on a.proID = b.proID
order by isnull(b.clickRate, 0) desc
set @condition='1=1'--(构建条件字符串) set @order = ' t_Click.clickRate desc'--(构建排序字符串) set @join =' inner join t_Click on t_Product.proID=t_Click.proID ' set @sql = 'select t_Product.* from t_Product '+@join+' where ' + @condition + 'order by ' + @order