我有2张表
表A:
A_ID ,AA_ID
1 1
1 2
1 3
1 5
1 7
2 11
2 16
2 17
2 20
2 21
2 30
2 40表B
A_ID COUNT
1 3 /*取A表中A_ID为1,3条数据*/
2 4 /*取A表中A_ID为2,4条数据*/
表B中A_ID来源于表A,COUNT字段表示取的条数,以上有注释。如以上取出来的结果就是:
A_ID ,AA_ID
1 1
1 2
1 3
2 11
2 16
2 17
2 20请问SQL如何写?SQL,存储过程都可以,请赐教!
表A:
A_ID ,AA_ID
1 1
1 2
1 3
1 5
1 7
2 11
2 16
2 17
2 20
2 21
2 30
2 40表B
A_ID COUNT
1 3 /*取A表中A_ID为1,3条数据*/
2 4 /*取A表中A_ID为2,4条数据*/
表B中A_ID来源于表A,COUNT字段表示取的条数,以上有注释。如以上取出来的结果就是:
A_ID ,AA_ID
1 1
1 2
1 3
2 11
2 16
2 17
2 20请问SQL如何写?SQL,存储过程都可以,请赐教!
a.*
from
a ,b
where
a.a_id=b.a_id
and
(select count(1) from a t where a.a_id=t.a_id and t.aa_id<=a.aa_id)<=b.`count`
select a1.* from (
SELECT a.A_ID,a.AA_ID,count(b.a_id) as ma from ttn a left join ttn b on a.A_ID=b.A_ID and a.AA_ID>=b.AA_ID
group by a.A_ID,a.AA_ID) a1
inner join ttn1 c on a1.ma<=c.COUNT and a1.A_ID=c.A_ID如果没有顺序,则增加自增字段ID,思路如上述是一致的