Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

insertar el resultado de un select y algo mas

Estas en el tema de insertar el resultado de un select y algo mas en el foro de Mysql en Foros del Web. una vez solventado el tema de las consulta quiero que su resultado sea insertado en una tabla, pero algun campo mas del registro debo fijarlo. ...
  #1 (permalink)  
Antiguo 20/01/2011, 07:02
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 21 años, 7 meses
Puntos: 0
insertar el resultado de un select y algo mas

una vez solventado el tema de las consulta quiero que su resultado sea insertado en una tabla, pero algun campo mas del registro debo fijarlo.
la instruccion siguiente funciona perfecto

insert into diari ( numlocal, tipuslocal, importbase, periva, perret, importiva, importret, importtotal )
select L.LocClau1, L.tipus,
Q1.Quoimport ,
Q2.QuoImport ,
Q3.QuoImport ,
round((q1.quoimport * q2.quoimport /100),2) ,
round((q1.quoimport * q3.quoimport /100),2) ,
(q1.quoimport + round((q1.quoimport * q2.quoimport /100),2) - round((q1.quoimport * q3.quoimport /100),2)) as total
from locals L
inner join quotes Q1 on L.LocCodiQuota = Q1.quoclau1
inner join quotes Q2 on L.LocCodiIva = Q2.quoclau1
inner join quotes Q3 on L.LocCodiRet = Q3.quoclau1
where L.tipus = "C"

pero como lo hago si quiero insertar fijos los valores de los campos PERIODO y FECHAEMISION ?
he probado
insert into diari ( periodo, fechaemision, numlocal, tipuslocal, importbase, periva, perret, importiva, importret, importtotal )
values ( 2, '2011-01-01', (
select L.LocClau1, L.tipus,
Q1.Quoimport ,
Q2.QuoImport ,
Q3.QuoImport ,
round((q1.quoimport * q2.quoimport /100),2) ,
round((q1.quoimport * q3.quoimport /100),2) ,
(q1.quoimport + round((q1.quoimport * q2.quoimport /100),2) - round((q1.quoimport * q3.quoimport /100),2)) as total
from locals L
inner join quotes Q1 on L.LocCodiQuota = Q1.quoclau1
inner join quotes Q2 on L.LocCodiIva = Q2.quoclau1
inner join quotes Q3 on L.LocCodiRet = Q3.quoclau1
where L.tipus = "C" ) )

pero me da error
/* SQL Error: Column count doesn't match value count at row 1 */
  #2 (permalink)  
Antiguo 20/01/2011, 07:05
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: insertar el resultado de un select y algo mas

solventado, los valores fijos van dentro de la instruccion select no fuera.
gracias por vuestro tiempo.

Etiquetas: mas, select, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:45.