Hola Bier:
Olvidaste mencionar cuál es la estructura de tus tablas, qué campos son llaves y sobre todo el criterio para determinar cuál es el primer movimiento (supongo que será por fecha, pero eso deberías decirlo tú.
En el foro hay muchos ejemplos que pudiera ayudarte, la idea generalmente es la misma, utilizando MIN o MAX (para el primero o el último) y agregarlo como un INNER JOIN adicional, más o menos así:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.25 sec)
Query OK, 3 rows affected (0.08 sec)
+------+-------------+
| id_a | descripcion |
+------+-------------+
| 1 | uno |
| 2 | dos |
| 3 | tres |
+------+-------------+
Query OK, 0 rows affected (0.06 sec)
-> (3, 1, '2011-01-01'), (4, 2, '2011-03-04'), (5, 2, '2011-03-05'),
-> (6, 3, '2011-07-13');
Query OK, 6 rows affected (0.03 sec)
+------+------+------------+
| id_b | id_a | fecha |
+------+------+------------+
| 1 | 1 | 2011-03-01 |
| 2 | 1 | 2011-01-02 |
| 3 | 1 | 2011-01-01 |
| 4 | 2 | 2011-03-04 |
| 5 | 2 | 2011-03-05 |
| 6 | 3 | 2011-07-13 |
+------+------+------------+
-> (
-> ) C
-> on B.id_a
= C.id_a
and B.fecha
= C.min_fecha
; +------+-------------+------+------+------------+
| id_a | descripcion | id_b | id_a | fecha |
+------+-------------+------+------+------------+
| 1 | uno | 3 | 1 | 2011-01-01 |
| 2 | dos | 4 | 2 | 2011-03-04 |
| 3 | tres | 6 | 3 | 2011-07-13 |
+------+-------------+------+------+------------+
Observa que aunque los registros 1 y 2 de la TablaA tienen mas de un registro asociado en la TablaB sólo se está mostrando el primero (de acuerdo a la fecha)
Dale un vistazo a ver si te sirve y si continuas con problemas aclara los puntos que puse al inicio y si es posible pon algunos datos de ejemplo. También podrías poner algo del código que intentaste hacer para ayudarte a afinar la sentencia.
Saludos
Leo.