表 A
ID
-----
1
2
3
4
5
6
7
表 B
ID A_ID IDX
-----------------
1 1 2
2 7 2
3 6 1
4 2 2
5 2 1
6 5 1
7 1 1
8 7 1
9 2 3
表C
A_ID B_ID
------------
1 7
2 5
5 6
6 3
7 8 根据A,B如何得到C (B的IDX为条件)
在下初学,谢过诸位上午的问题http://topic.csdn.net/u/20090219/09/f187c510-62a3-4d5d-bdb6-0ab67a639c0c.html
ID
-----
1
2
3
4
5
6
7
表 B
ID A_ID IDX
-----------------
1 1 2
2 7 2
3 6 1
4 2 2
5 2 1
6 5 1
7 1 1
8 7 1
9 2 3
表C
A_ID B_ID
------------
1 7
2 5
5 6
6 3
7 8 根据A,B如何得到C (B的IDX为条件)
在下初学,谢过诸位上午的问题http://topic.csdn.net/u/20090219/09/f187c510-62a3-4d5d-bdb6-0ab67a639c0c.html
insert A select 1
insert A select 2
insert A select 3
insert A select 4
insert A select 5
insert A select 6
insert A select 7
create table B (ID int,A_ID int,IDX int)
insert B select 1,1,2
insert B select 2,7,2
insert B select 3,6,1
insert B select 4,2,2
insert B select 5,2,1
insert B select 6,5,1
insert B select 7,1,1
insert B select 8,7,1
insert B select 9,2,3 SELECT A_ID,MAX(ID) AS B_ID FROM B WHERE IDX>0 GROUP BY A_IDDROP TABLE A
DROP TABLE B
------------------------
1 7
2 9
5 6
6 3
7 8
感谢回复,不过有点不对,我是以IDX为条件,并不是取B表的ID最大值,也就是说IDX=1, 所以得到的结果也就不对了
from A a,B b
where a.ID = b.A_Id
and b.IDX = 1
order by a.ID
不好意思,可能我没说明白,其实表B中还有许多A中没有的记录,要根据A的ID来取值
FROM 表A, 表B
WHERE 表B.IDX =1
AND 表A.ID = 表B.A_ID
ORDER BY 表A.ID