![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() 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 ... |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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... ![]() |
![]() |
|
|
![]() |
|