Ver Mensaje Individual
  #1  
Antiguo 02-10-2008
juanpe juanpe is offline
Miembro
 
Registrado: oct 2004
Posts: 46
Reputación: 0
juanpe Va por buen camino
Select de un campo concreto y todos los demas

Hola buenas a todos. El titulo no es lo mas descriptivo pero a ver si me hago entender .

Estoy buscando la manera de hacer una sql anidada (Select (select)) en interbase, que me devuelva el resultado del primer campo de la tabla incrementado en un valor X y el resto de los campos tal cual están sin repetir el campo incrementado.

Lo necesito para actualizar el campo indice de la tabla, con un nuevo valor.
Un ejemplo, tabla libros, campo indice idlibro.

insert into libro
select (select idlibro+X from libro where idlibro like M) as idlibro,libro.* from libro where idlibro like M

El problema es que al poner libro.* estoy seleccionando de nuevo el campo idlibro y me peta al no coincidir el nº de campos que tiene la tabla donde inserto con el nº de campos que le paso de la select.

Entonces, pregunto si hay alguna forma de no pasar o saltar o eliminar un campo determinado en libro.*.

La opcion de escribir manualmente los campos, despues de la select anidada no me vale, ya que son muchisimos campos y me paso en la longitud maxima permitida para el metodo add de el componente TQuery.

Muchisimas gracias por leerme al menos y por vuestra ayuda.

Un saludo.
Responder Con Cita