日期:2014-05-16  浏览次数:20543 次

问一个比较初级的Select语句
现在有表A和表B
index字段是表A中的主键
index字段也会在表B中出现,可能出现若干条

现在我想用一条Select语句,把表A中的记录查询出来,并获得表B中相同index的条数

请问如何查询?
------解决方案--------------------
同库的话dbo可去掉
SELECT A.index , B.index
FROM A, B
Where A.index = B.index
------解决方案--------------------
试试这个:
SELECT A.*, (select count(*) from B where A.index = B.index) as 'b表中的条数'
FROM A

------解决方案--------------------
select a.*,b.[条数] 
from a inner join (select index,count(1) [条数] from b group by index) b on a.index=b.index

------解决方案--------------------
SELECT A.*, (select count(*) from B where A.index = B.index) as 'b表条数'
FROM A

------解决方案--------------------
SELECT A.*,C.条数 FROM A JOIN (SELECT *,ROW_NUMBER() OVER(PARTITION BY B.ID ORDER BY B.ID)AS 条数 FROM B)C 
ON A.INDEX=C.INDEX

------解决方案--------------------

select a.*,
       isnull(b.qty,0) 'qty'
 from 表A a
 left join (select [index],
                   count(1) 'qty' 
            from 表B 
            group by [index]) b on a.[index]=b.[index]

------解决方案--------------------
引用:
试试这个:
SELECT A.*, (select count(*) from B where A.index = B.index) as 'b表中的条数'
FROM A

这个语句 精炼 学习了