Natalya Bernadskaya:
Tengo dos tablas Tabla1 (con campos A1 | B1 | C1) y en la Tabla 2 con campos A2 | B2.
Necesito para insertar en trazos Tabla1 con los valores A1 = const, B1 = const y C1 - valor de A2 de Tabla2, donde B2 = const
Tabla 1
A1 | B1 | C1
Tabla 2
A2 | B2
1 | 3
2 | 3
6 | 3
4 | 6
5 | 6
Después de la consulta, donde A1 = 0, B1 = 1, B2 = 3 deberíamos obtener:
Tabla 1
A1 | B1 | C1
0 | 1 | 1
0 | 1 | 2
0 | 1 | 6
Supongo que va a tener este aspecto:
INSERT INTO Table1 (‘A1’,’B1’,’C1’) VALUES (0, 1, SELECT A2 FROM Table2 WHERE B2=”3”)
GMB:
Parece que estás en busca de la norma INSERT ... SELECT
de sintaxis :
INSERT INTO Table1 (A1, B1, C1)
SELECT 0, 1, A2 FROM Table2 WHERE B2 = 3
Su intento inicial no funciona porque VALUES()
tiene tuplas de escalares valores (cada tupla representa una fila), mientras que la consulta devuelve varias filas .