8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je voudrais insérer des id de deux autres tables dans une seule table, je connais la requête 'INSERT INTO table1 (col1) SELECT id from table2';

Mais pour ajouter une autre table dans la requête, j'ai essayé plusieurs truc en vain.

Comment faire ?

Merci d'avance
upload/1625154711-81593-capturedancran2021-07-0110481.png
Modérateur
Et l'eau,

fait de tête :

INSERT INTO 
    tableA(col1, col2)
SELECT 
    col1,
    col2 
FROM 
    tableB
WHERE 
    col3 = "quelque chose"

Modifié par niuxe (01 Jul 2021 - 23:54)
Don-pasqual a écrit :
Là j'ai table A et table B, mais si j'ai table C ça donne quoi ? Smiley smile


hello,

pour faire de l'insert into depuis plusieurs tables il y a plusieurs solutions
tu as cette façon de faire avec un insert into et un select
INSERT INTO C (aID, bID) 
     SELECT A.ID, B.ID 
     FROM A, B 
     WHERE A.Name='Me'
     AND B.Class='Math';


ou alors avec un INNER JOIN
INSERT INTO table4 ( name, age, sex, city, id, number, nationality)
SELECT name, age, sex, city, p.id, number, n.nationality
FROM table1 p
INNER JOIN table2 c ON c.Id = p.Id
INNER JOIN table3 n ON p.Id = n.Id