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

Combinacion de Celdas--Campos

Estas en el tema de Combinacion de Celdas--Campos en el foro de SQL Server en Foros del Web. Estoy trabajando en un consulta y quiero que los datos me aparzcan de esta forma: |----Importación-----||-----Exportación-----||-------Saldo-------| PaísOrigen|PaisDestino |PaísOrigen|PaisDestino| Resta entre E-I pero todo esta en ...
  #1 (permalink)  
Antiguo 16/04/2007, 10:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 80
Antigüedad: 17 años, 1 mes
Puntos: 1
Combinacion de Celdas--Campos

Estoy trabajando en un consulta y quiero que los datos me aparzcan de esta forma:
|----Importación-----||-----Exportación-----||-------Saldo-------|
PaísOrigen|PaisDestino |PaísOrigen|PaisDestino| Resta entre E-I

pero todo esta en la misma tabla.... es decir, tengo una tabla donde guardo las importaciones y exportaciones y quiero ver el resultado en esta forma... y no se como se pude hacer eso.... estoy usando SQL Server 2007.... agredeceria cualquier ayuda..... Gracias de antemano....

El Saldo es la resta entre el valor de las Exportaciones e Importaciones que también registro en la misma tabla..... el saldo como campo no existe...., pero el valor de las Importaciones y Exportaciones si.
  #2 (permalink)  
Antiguo 19/04/2007, 09:08
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Combinacion de Celdas--Campos

si escribes la estructura de tu tabla, te podrian ayudar a generar la consulta...

saludos
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 19/04/2007, 16:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 80
Antigüedad: 17 años, 1 mes
Puntos: 1
Combinacion de Celdas--Campos

La estructura es la siguiente:
id_importacion_exportacion ----> int, llave principal, correlativo
id_pais ----> int, llave foranea relacionada con la tabla pais (id_pais, nombre)
id_pais_origen ----> int, igual que el anterior
id_pais_destino ----> int, igual que el anterior
volumen ----> float
id_tipo_volumen ----> int, llave foranea relacionada con la tabla tipo_volumen (id_tipo_volumen, volumen)
valor ----> float
id_tipo_valor ----> int igual que el tipo_volumen, pero a la tabla valor
fecha ----> varchar(14), estandar de la empresa donde trabajo
id_tipo_actividad ----> int, llave foranea relacionada con la tabla tipo_actividad (id_tipo_actividad_actividad ----> 1 Importación, 2 Exportación)
id_arancel ----> llave foranea relacionada con la tabla arancel (id_arancel, arancel)
Aunque el arancel aqui no importa mucho, no se usa para el SQL que necesito.....

Yo he escrito esto: pero los años tiene que ir formado columnas, debajo de la columna Importacion, Exportacion o Saldo segun sea el caso....

a la izquierda de todo hay una columna que dice pais Origen/Destino, que representa el pais de donde se importo o hacia cual se exporto....
CUALQUIER AYUDA, SERA BIENVENIDA, Y DE ANTEMANO, MUCHAS GRACIAS...

select *, tabla.valor - tabla.valore as SaldoVol, tabla.volumen - tabla.volumenE as SaldoVal
from
(
select a.pais_origen, a.anio, a.volumen, a.valor,
/*----------------------*/
Isnull((select d.volumen
from
(select c.nombre as pais_destino, substring(b.fecha,1,4) as anio, sum(b.volumen) as volumen, sum(b.valor) as valor
from importacion_exportacion b, pais c
where b.id_pais_destino=c.id_pais
and b.id_pais_origen=3 /*PAIS REPORTANTE*/
and b.id_tipo_actividad=2
group by c.nombre, substring(b.fecha,1,4)
) as d
where d.anio = a.anio
and a.pais_origen = d.pais_destino
),0) as volumenE
,
/*----------------------*/
isnull((select f.valor
from
(select c.nombre as pais_destino, substring(b.fecha,1,4) as anio, sum(b.volumen) as volumen, sum(b.valor) as valor
from importacion_exportacion b, pais c
where b.id_pais_destino=c.id_pais
and b.id_pais_origen=3 /*PAIS REPORTANTE*/
and b.id_tipo_actividad=2
group by c.nombre, substring(b.fecha,1,4)
) as f
where f.anio = a.anio
and a.pais_origen = f.pais_destino
),0) as valorE
from
(select c.nombre as pais_origen, substring(b.fecha,1,4) as anio, sum(b.volumen) as volumen, sum(b.valor) as valor
from importacion_exportacion b, pais c
where b.id_pais_origen=c.id_pais
and b.id_pais_destino=3 /*PAIS REPORTANTE*/
and b.id_tipo_actividad=1
group by c.nombre, substring(b.fecha,1,4)
) as a
) as tabla
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 16:20.