Ver Mensaje Individual
  #13 (permalink)  
Antiguo 22/12/2004, 01:48
Avatar de Vice
Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 5 meses
Puntos: 2
Esa consulta que tu haces en un bucle es lo mismo que hacer la union de todas las consultas. Cuidado que hay que tener con una union: todas las selects deben devolver el mismo número de valores y del mismo tipo sino te dará un error en ejecución.
Código:
select 'Book',* 
from referencia r join book b on r.Id_Reference=b.Id_Rerence
where r.Author like '%a'
and r.Title like '%title%'
union all
select 'Journal',* 
from referencia r join journal j on r.Id_Reference=j.Id_Reference
where r.Author like '%a'
and r.Title like '%title%'
union all
select 'Conferencia',* 
from referencia r join conferencia c on r.Id_Reference=c.Id_Reference
where r.Author like '%a'
and r.Title like '%title%'
union all
select 'Thech-report',* 
from referencia r join thecnical_report t on r.Id_Reference=t.Id_Reference
where r.Author like '%a'
and r.Title like '%title%'
union all
select 'Thesis',* 
from referencia r join thesis th on r.Id_Reference=th.Id_Reference
where r.Author like '%a'
and r.Title like '%title%'
union all
select 'Miscellaneous',* 
from referencia r join miscellaneous m on r.Id_Reference=m.Id_Reference 
where r.Author like '%a'
and r.Title like '%title%'
Esto te tiene que funcionar. Al fin y al cabo es lo mismo que tú estás haciendo por programación, pero en una única consulta a la base de datos.
Recuerda: todas las selects deben develver el mismo número de datos y del mismo tipo. Si en una select quieres que te devuelva un número, pero no en el resto, es tan fácil como en esa posición de las demás selects meter un número como una constante.
En las selects he puesto un '*', porque no sé que datos quieres y no conozco la estructura de tus tabla, lo habitual, es enumerar exactamente los campos que se quieren, pues si lo has separado en tablas es de suponer que no tienen igual estructura. La constante inicial es para conocer de que tabla viene el dato, si no lo necesitas conocer, la quitas.

Espero que esto te sirva y te facilite las cosas.

Un saludo.
__________________
Estoy contagiado de Generación-I

Última edición por Vice; 22/12/2004 a las 01:54