数据库:SQL 2005
主表A,有字段ClassId
副表B,有字段:Id,和A表ClassId是关联的,还个字段是:MaxNum是用来控制A表显示数量
求是SQL语句是:
查询主表关联副表,利用MaxNum来显示数量
Select a.* From a Left Join b On a.ClassId = b.Id
这是普通的查询。
怎么利用MaxNum控制数量?
A表:
B表:
1 DECLARE @SQL NVARCHAR(1000) 2 DECLARE @NUM INT 3 SELECT @NUM = MaxNum FROM ADTYPE WHERE ID = 1 4 SET @SQL = 'SELECT TOP '+CAST(@NUM AS VARCHAR(2))+' AdType.ID AS AdTypeID,AdType.CnName,AdType.MaxNum,'+ 5 'AdType.Px,Ad.ID AS AdID,Ad.ClassID FROM AdType LEFT JOIN Ad ON Ad.ClassID = AdType.ID' 6 EXEC (@SQL)
感觉不是很好.但是能达到效果. 可以直接复制下来执行 .
谢谢。不过你连错了。你这样写是查询了B表。。
我已经有好的答案了。豆哥你吧。。