(Postgresql 8.2)
Voila : j'ai deux tables A et B. A contient une clef primaire (id) et B une clef etrangere (id). Il y a au moins 1000 lignes dans B pour chaque id.

Il y a 2 lignes dans A (=> 2000 lignes dans B)

J'aimerais fusionner les lignes de B avec un seul id de A:
Shématiquement, on aurait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
A                   B
--                 -------
1                   1
2                   ..
                    1
                    2
                    ..
                    2
===========================
Pour donner :
 
A                   B
--                 -------
3                   3
==                 ..
                    3
==============================
Je cherche une autre solution que de changer directement la table B. (Il n'y a pas qu'une seule table B et il peut y en avoir de nouvelles, ce qui m'obligerait à transformer ma requête SQL à chaque fois)
Je pensais par exemple à forcer un update sur une ligne de A (id 1 => 2) ce qui changerait les id dans B, puis de supprimer la ligne de A (mais ça risque de supprimer aussi les lignes de B vu que cette bidouille ne devrait pas être prevue par postgres)

Des idées?