首页 新闻 搜索 专区 学院

求A表的数量由B表的字段来控制,不知道怎么写

0
悬赏园豆:20 [已解决问题] 解决于 2015-09-26 10:56

数据库: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表:

快乐的langYa的主页 快乐的langYa | 菜鸟二级 | 园豆:316
提问于:2015-09-25 17:53
< >
分享
最佳答案
1
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)

 

感觉不是很好.但是能达到效果. 可以直接复制下来执行 . 

收获园豆:20
咖菲猫 | 初学一级 |园豆:28 | 2015-09-25 18:49

谢谢。不过你连错了。你这样写是查询了B表。。

我已经有好的答案了。豆哥你吧。。

快乐的langYa | 园豆:316 (菜鸟二级) | 2015-09-26 10:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册