¿ Un Query dificil ????

30/06/2006 - 22:38 por Byron | Informe spam
Hola Amigos, por favor me podrían ayudar con este problema:
Tengo la siguiente tabla en SQL 2000

Campo1(int) Campo2(int) Campo3(varchar)
1 1 Gato
1 2 Toro
2 1 Vaca
2 2 Gorila
3 1 Jirafa
3 2 Camello

La idea es hacer un SELECT (query) que me permita obtener el siguiente
resultado:
Campo1 Campo3 Campo3
1 Gato Toro
2 Vaca Gorila
3 Jirafa Camello

Por favor me podrían indicar como hacer este Query?. MIL GRACIAS

Byron

Preguntas similare

Leer las respuestas

#6 Jorge Gonzalez
01/07/2006 - 01:23 | Informe spam
Byron

si nos das la estructura de tu base de datos (mejor aún si incluís los
scripts) tal vez podamos hacer algo. Hay algunos algoritmos grandiosos para
el manejo de consultas de referencias cruzadas, haciendo uso de SQL
Dinámico, que podrían aplicar a tu caso.

saludos
Jorge González

"Byron" escribió en el mensaje
news:
Gracias Jorge, muy ingeniosa tu solución, pero como lo intuyes, el
problema
es que no solo son 6 animales sino toda el arca de Noé que más o menos son
3000 especímenes, lo que significaría igual número de selects y seguro me
coge el próximo diluvio antes de terminar...

Ojalá alguien se conduela de mí y me ayude a optimizar tu solución... en
todo caso muhas gracias.

Saludos
Byron

"Jorge Gonzalez" escribió:

Estimado Byron

para esos datos y ese ejemplo exactamente ejecuta este algoritmo y te va
a
funcionar, sin embargo me imagino que estás tratando de hacer algo más
complejo que lo que nos has mostrado, así que tendrás que adecuarlo a tu
problema específico.

Saludos
Jorge González

create table #tmp(campo1 int , campo2 int , campo3 varchar (20) )

insert into #tmp values (1, 1, 'Gato')
insert into #tmp values (1, 2, 'Toro')
insert into #tmp values (2, 1, 'Vaca')
insert into #tmp values (2, 2, 'Gorila')
insert into #tmp values (3, 1, 'Jirafa')
insert into #tmp values (3, 2, 'Camello')

select Campo1, (select campo3 from #tmp T where T.Campo1 = #tmp.Campo1
and
T.Campo2=1) [C3.1], (select campo3 from #tmp T where T.Campo1 =
#tmp.Campo1
and T.Campo2=2) [C3.2]
from #tmp
group by Campo1

drop table #tmp


"Byron" escribió en el mensaje
news:
> Hola Amigos, por favor me podrían ayudar con este problema:
> Tengo la siguiente tabla en SQL 2000
>
> Campo1(int) Campo2(int) Campo3(varchar)
> 1 1 Gato
> 1 2 Toro
> 2 1 Vaca
> 2 2 Gorila
> 3 1 Jirafa
> 3 2 Camello
>
> La idea es hacer un SELECT (query) que me permita obtener el siguiente
> resultado:
> Campo1 Campo3 Campo3
> 1 Gato Toro
> 2 Vaca Gorila
> 3 Jirafa Camello
>
> Por favor me podrían indicar como hacer este Query?. MIL GRACIAS
>
> Byron



Respuesta Responder a este mensaje
#7 CMCC
02/07/2006 - 11:00 | Informe spam
Byron wrote:
Hola Amigos, por favor me podrían ayudar con este problema:
Tengo la siguiente tabla en SQL 2000

Campo1(int) Campo2(int) Campo3(varchar)
1 1 Gato
1 2 Toro
2 1 Vaca
2 2 Gorila
3 1 Jirafa
3 2 Camello

La idea es hacer un SELECT (query) que me permita obtener el siguiente
resultado:
Campo1 Campo3 Campo3
1 Gato Toro
2 Vaca Gorila
3 Jirafa Camello

Por favor me podrían indicar como hacer este Query?. MIL GRACIAS

Byron



Hola Byron,

Prueba esto:
select t1.campo1,t1.campo3,t2.campo3
from tabla t1 inner join tabla t2 on t1.campo1 = t2. campo1 and
t1.campo2 < t2.campo2

Carlos
Respuesta Responder a este mensaje
#8 Alejandro Mesa
02/07/2006 - 16:35 | Informe spam
Trata:

select a.campo1, a.campo3, b.campo3
from dbo.t1 as a inner join dbo.t1 as b
on a.campo1 = b.campo1 and a.campo2 = b.campo2 - 1
go


AMB

"Byron" wrote:

Hola Amigos, por favor me podrían ayudar con este problema:
Tengo la siguiente tabla en SQL 2000

Campo1(int) Campo2(int) Campo3(varchar)
1 1 Gato
1 2 Toro
2 1 Vaca
2 2 Gorila
3 1 Jirafa
3 2 Camello

La idea es hacer un SELECT (query) que me permita obtener el siguiente
resultado:
Campo1 Campo3 Campo3
1 Gato Toro
2 Vaca Gorila
3 Jirafa Camello

Por favor me podrían indicar como hacer este Query?. MIL GRACIAS

Byron
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida