现有表
表A:
--------------------------------------
ID A B C
1 101 8 8
2 102 9 9
--------------------------------------
表B
--------------------------------------
ID A DATE B
1 101 2011-8-22 16:00 5
2 101 2011-8-22 13:00 6
3 101 2011-8-22 12:00 7
--------------------------------------
现在我想要得到-------------------------------------
ID 表A.A 表A.B 表A.C 表B.B
1 101 8 8 5
2 101 9 9 NULL
-------------------------------------我用这不行select a.a,a.b,a.c,b.b from 表A AS A LEFT JOIN 表B AS B ON a.a=b.a order by b.date limit 1
表A:
--------------------------------------
ID A B C
1 101 8 8
2 102 9 9
--------------------------------------
表B
--------------------------------------
ID A DATE B
1 101 2011-8-22 16:00 5
2 101 2011-8-22 13:00 6
3 101 2011-8-22 12:00 7
--------------------------------------
现在我想要得到-------------------------------------
ID 表A.A 表A.B 表A.C 表B.B
1 101 8 8 5
2 101 9 9 NULL
-------------------------------------我用这不行select a.a,a.b,a.c,b.b from 表A AS A LEFT JOIN 表B AS B ON a.a=b.a order by b.date limit 1
表A:
--------------------------------------
ID A B C
1 101 8 8
2 102 9 9
--------------------------------------
表B
--------------------------------------
ID A DATE B
1 101 2011-8-22 16:00 5
2 101 2011-8-22 13:00 6
3 101 2011-8-22 12:00 7
--------------------------------------
现在我想要得到-------------------------------------
ID 表A.A 表A.B 表A.C 表B.B
1 101 8 8 5
2 102 9 9 NULL
-------------------------------------我用这不行select a.a,a.b,a.c,b.b from 表A AS A LEFT JOIN 表B AS B ON a.a=b.a order by b.date limit 1
ID 表A.A 表A.B 表A.C 表B.B
1 101 8 8 5
2 102 9 9 NULL
-------------------------------------
因为2 102 那个在表B里没有。所以NULL,我未做处理。
SELECT a.a,a.b,a.c,IFNULL(b.b,0)as 表B from 表A as a left join (select * from 表B order by date DESC limit 1)as b on b.A=a.A