subconsultas - MySQL ¿Cómo se INSERTAR EN una tabla con una subconsulta SELECT que devuelve varias filas?
subquery sql server ejemplos (7)
El motivo de este error (Subquery devuelve más de 1 fila) es que usa parenthesis () . Mira más cuidadoso a la mejor respuesta. No contiene parethesis en torno a la subconsulta
MySQL ¿Cómo se INSERTAR EN una tabla con una subconsulta SELECT que devuelve varias filas?
INSERT INTO Results
(
People,
names,
)
VALUES
(
(
SELECT d.id
FROM Names f
JOIN People d ON d.id = f.id
),
(
"Henry"
),
);
QUIERO llenar la nueva tabla con todos los resultados que regresan de esta subconsulta. ¿Cómo hago esto sin obtener un ERROR 1242 (21000): la subconsulta devuelve más de 1 fila
En MySql se pueden insertar múltiples valores de cadenas de la siguiente manera evitando duplicados. Gracias.
insert into brand(name) select * from (
select ''Fender'' as name
union select ''a''
union ..... ) t
where not exists (select 1 from brand t2 where t2.name COLLATE latin1_general_ci = t.name COLLATE utf8mb4_unicode_ci )
Esto es lo que he encontrado que funciona bien. Es un poco largo, pero muchas veces se deben barajar datos adicionales.
Inserte varias filas en la tabla1 de la tabla 2 con valores. EJEMPLOS:
INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT col1,col2,col3,col4,col5
FROM table2 t2
WHERE t2.val2 IN (MULTIPLE VALUES)
AND (Another Conditional);
Puede insertar valores codificados para insertar múltiples filas con datos repetidos:
INSERT INTO table1 (col1, col2, col3, col4, col5)
SELECT "Value", col2, col3, "1900-01-01","9999-12-31"
FROM table2 t2
WHERE t2.val2 IN (MULTIPLE VALUES)
AND (Another Conditional);
Tenga en cuenta que: "Valor", "1900-01-01", "9999-12-31" se repetirá en todas las filas insertadas.
inserte en ec_element (parentid, name) seleccione elementid, ''STARTUP'' de ec_element donde name = ''BG'';
La instrucción insert toma los valores elementid de la tabla encontrada con la condición cumplida y una cadena de etiquetas.
INSERT INTO Results
(
People,
names,
)
SELECT d.id, ''Henry''
FROM Names f
JOIN People d ON d.id = f.id
INSERT INTO Results
(
People,
names,
)
VALUES
(
(
SELECT d.id
FROM Names f
JOIN People d ON (d.id = f.id) limit 1
),
(
"Henry"
),
);
INSERT INTO Results (People, names )
SELECT d.id, ''Henry''
FROM Names f
JOIN People d ON d.id = f.id
Combina la cadena estática Henry
con tu consulta SELECT
.