INSERT INTO TableA(colA, colB, colC)
SELECT TableX.valA, TableY.valB, TableZ.valC
FROM TableX
INNER JOIN TableY ON :......
INNER JOIN TableZ ON ........
Конечно, TableX, TableY и TAbleZ также могут быть связаны каким-либо другим способом (не INNER JOIN).
Если вы не можете найти какую-либо связь между таблицами ВСЕ, вы также можете сделать три отдельных
SELECT @value1 = valA FROM TableX WHERE ......
SELECT @value2 = valB FROM TableY WHERE ......
SELECT @value3 = valC FROM TableZ WHERE ......
и затем вставка, подобная этой:
INSERT INTO TableA(colA, colB, colC)
VALUES(@value1, @value2, @value3)
Это последнее средство, вы не можете выразить все в одном SELECT
выражении.
Марк