Autor Tema: Ayuda con consulta SQL  (Leído 2092 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Ayuda con consulta SQL
« : junio 22, 2009, 09:04:03 am »
Bueno tengo un problema con encontrar una solucion a una consulta SQL


el problemas es asi


Mi BD esta conformada por diversos owner (compañias), para el caso cada Owner es una compañia, entonces se entiende que la estructura va asi

compania1.precios
compania2.precios
compania3.precios
compania4.precios


ahora bien lo que necesito es obtener los precios de todas las companias en un solo reporte, pero no se como hacer la consulta si hacer un SP o una Vista...


la estructura del resultado seria algo como essto


Articulo              descripcion       compania1       compania2      compania3       compania4            

0001              articulo 1                $ 1.00             $ 2.00           $ 1.50            $ 0.00
0002              articulo 2                $ 2.00             $ 2.00           $ 1.50            $ 2.00
0003              articulo 3                $ 0.00             $ 1.00           $ 1.50            $ 1.00



No encuetro como hacerlo   :cry:


La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3449
  • PHP,C#,MySQL,SQL
Re: Ayuda con consulta SQL
« Respuesta #1 : junio 22, 2009, 09:51:18 am »
Como relacionas la tabla compañias con la tabla articulos?

Desconectado Darkness

  • The Communiter-
  • *
  • Mensajes: 2147
  • The Darkness
    • Diseño y Programaciòn Web Profesional
Re: Ayuda con consulta SQL
« Respuesta #2 : junio 22, 2009, 09:58:36 am »
Como relacionas la tabla compañias con la tabla articulos?

La estructura es asi

BD.OWNER.TABLA

donde
BD = Base de Datos
OWNER = Compañia
Taba = Tabla

existe una tabla compañia, pero nada tiene que ver con la tabla articulos

ya que esa es una tabla catalogo global
dbo.compania
La Muerte Simplemente es el Despertar de Un Sueño Lleno de Falsedades e hipocrecias.
"Larga Vida Al Heavy Metal"

Iron Maiden Discografia DD

sicario

  • Visitante
Re: Ayuda con consulta SQL
« Respuesta #3 : junio 22, 2009, 10:30:23 am »
Bueno... aveces mucho ayuda saber el gestor de base de datos que se esta utilizando, pues aunque existe un standar ISO; cada gestor de base de datos tiene sus propias FEATURE'S.

bueno.. para el caso, si no estoy mal... intuyo que estas utilizando SQL SERVER... entonces... mi querido amigo.. como vos queres un resultado HORIZONTAL en los precios por las diferentes compañias.... lo que se me ocurre es que tus grandes aliadas... sean las SUBCONSULTAS que poderosamente sabe manejar SQL SERVER (porque a oracle le pela el gorro por en veces)....

y la onda seria mas o menos  asi.

Código: [Seleccionar]
select COD_ARTICULO AS ARTICULO,DESCRIPCION,PRECIO_COMPAÑIA1 AS COMPAÑIA1
FROM DB1.COMPAÑIA1.TABLA_PRECIOS1
ESTO TE DARIA LOS PRECIOS SOLO DE UNA SOLA COMPAÑIA...
AHORA HAGAMOS PARA EL RESTO

Código: [Seleccionar]
select COD_ARTICULO AS ARTICULO,DESCRIPCION,PRECIO_COMPAÑIA1 AS COMPAÑIA1
,ISNULL((SELECT PRECIO_COMPAÑIA2 FROM DB2.COMPAÑIA2.TABLA_PRECIOS2
   WHERE DB2.COMPAÑIA2.TABLA_PRECIOS2.COD_ARTICULO=DB1.COMPAÑIA1.TABLA_PRECIOS1),0) AS AS COMPAÑIA2
  FROM DB1.COMPAÑIA1.TABLA_PRECIOS1

El ejemplo anterior... solo lo hice... para valores de la compañia1 y la compañia2... pero asi susecivamente.. podes agregar para el 3 y el 4....  ahora bien.... te adelanto que dicha forma de sacar el script... tiene sus desventajas... una de ellas es la siguiente:

SI AL HACER UN COMPARE ENTRE LAS DIFERENTES TABLAS, TE DA COMO RESULTADO QUE NO SON IGUALES EN SU CONTENIDO.. EL SCRIPT UNICAMENTE TE SACARA TODOS AQUELLOS CODIGOS DE ARTICULOS.. QUE TENGAN REFERENCES.. ENTRE EL RESTOS DE TABLAS HOMOLOGAS EN LOS DIFERENTES BASES ¿si me explico? ... de tal suerte que si vos tenes un codigo de articulo 3050-- que no existe en compañia1 pero si esta en compañia5--- ese articulo no aparecera.. por razones obvias de references...

Articulo              descripcion       compania1       compania2      compania3       compania4           

0001              articulo 1                $ 1.00             $ 2.00           $ 1.50            $ 0.00
0002              articulo 2                $ 2.00             $ 2.00           $ 1.50            $ 2.00
0003              articulo 3                $ 0.00             $ 1.00           $ 1.50            $ 1.00


espero haberte dado alguna idea..... saludos