Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-01-2005
PINO72 PINO72 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Málaga - España
Posts: 40
Poder: 0
PINO72 Va por buen camino
Unhappy Datos de dos tablas en DBGRID

Buenas noches:

Trabajo con dos IBDatasets, uno para articulos y otro que controla stocks.

Necesito mostrar en la misma rejilla los datos de los artículos y sus correspondientes stocks, teniendo en cuenta que la segunda tabla contiene entradas del mismo artículo en varios almacenes. En caso de no existir ninguna entrada en la tabla de stock para un artículo, se debe mostrar 0.

La estructura (simplificada) de las dos tablas es:

Artículos:
cCodigo - cDescripción - ...
Ejemplo:
0000001 - Tornillo
0000002 - Tuerca
...
Stocks:
cAlmacen - cCodigo - nStock - nDisponible - ...
Ejemplo:
'AL1' 0000001 - 001400 - 01000
'AL2' 0000001 - 2000 - 01500

La Rejilla deberia mostrar:
Código Descripción Stock Actual Stock Disponible
000001 Tornillo 3.400,00 2.500,00
000002 Tuerca 0,00 0,00

Cual sería la sentencia SQL más adecuada?.


Muchas gracias por anticipado ...
Responder Con Cita
  #2  
Antiguo 23-01-2005
Toñico Toñico is offline
Miembro
 
Registrado: ene 2005
Posts: 50
Poder: 20
Toñico Va por buen camino
Hola Pino72, En interbase no conozco la sentencia exacta para los joins de tablas pero mas o menos sería así:

SELECT Articulos.cCodigo, Articulos.cDescripcion, Sum(Stocks.nStock) AS "Stock Actual", Sum(Stocks.nDisponible) AS "Stock Disponible" FROM Articulos LEFT JOIN Stocks IN Articulos.cCodigo = Stocks.cCodigo GROUP BY Articulos.cCodigo, Articulos.cDescripcion

Espero que te ayude, un saludo
Responder Con Cita
  #3  
Antiguo 23-01-2005
PINO72 PINO72 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Málaga - España
Posts: 40
Poder: 0
PINO72 Va por buen camino
Join Entre Articulos-stocks

Sólo tuve que corregir la parte de "LEFT JOIN STOCKS ON Articulos.cCodigo" y tirar de manual para el "GROUP BY" para que funcionara y va muy bien. Sólo una pequeña pega.... tarda un par de segundos en dar la información, supongo que es por tener 2.400 artículos dados de alta en la tabla y tener que comparar los stocks en la segunda para ofrecer la información.

No sabes la falta que le hace a uno que viene de Clipper estas "ayuditas" con el SQL.

Muchas gracias...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:31:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi