Il y a deux tables existantes, et je veux remplir une nouvelle table (appelons-la MiddleTable) avec la combinaison des colonnes ID des tables existantes. Voici la structure de mes tables (simplifiée à l'extrême), le champ IntField n'est pas important car lors de l'insertion, je veux qu'il s'agisse d'une valeur spécifique qui peut ensuite changer d'une manière qui n'a rien à voir avec ce problème.
Tableau A :
ID, Other columns
Tableau B :
ID, Other columns
Table du milieu
TableA_ID, TableB_ID, IntField, Other columns ....
Ma solution est la suivante : existe-t-il un moyen plus simple ou sans inconvénients importants ?
INSERT INTO MiddleTable (TableA_ID, IntField, TableB_ID)
SELECT
X.TabAID, 0, X.TabBID
FROM
(SELECT
TableA.ID AS TabA_ID, TableB.ID AS TabB_ID
FROM
TableA, TableB
EXCEPT
SELECT
TableA_ID, TableB_ID
FROM
MiddleTable) X