Problemas SQL

Que tal, tengo un problema y no encuentro que puede ser.
Estoy haciendo la union de 2 tablas para tomar la cantidad de un campo y el metraje de otro. Esto es que tengo que mostrar un código, una cantidad, y un metraje de una tabla, así como el proveedor y el cliente de otra tabla:
Hice la siguiente instrucción:
SELECT tl_codigo as codig, t_provee as provee, sum(tl_cantidad)as cantidad, COUNT(tl_cantidad)as numero from Inventario, tela WHERE inventario.tl_codigo = tela.t_codigo and tela.t_cliente='00113' and inventario.tl_cantidad>5 group by tl_codigo,t_provee order by tl_codigo
Pero al consultar en mi BD no me coinciden los totales que me esta arrojando esta consulta con lo que tengo en la tabla. Este problema me presenta cuando realizo la union de las 2 tablas donde comparo que t_codigo=tl_codigo.
¿Estoy haciendo algo mal?. Por favor espero me puedan ayudar, ya lo realice de varias formas pero todas me arrojan los totales erróneos.
SELECT tl_codigo AS codig, SUM(tl_cantidad) AS cantidad, COUNT(tl_cantidad) AS numero, t_provee as provee FROM Inventario, tela WHERE inventario.tl_codigo = tela.t_codigo AND tela.t_cliente='00113' and tl_cantidad >5 GROUP BY tl_codigo, t_provee order by tl_codigo
SELECT tl_codigo AS codig, SUM(tl_cantidad) AS cantidad, COUNT(tl_cantidad) AS numero, t_codigo as codigo, t_provee as provee FROM Inventario JOIN tela ON inventario.tL_codigo=tela.t_codigo Where inventario.tl_codigo = tela.t_codigo AND tela.t_cliente='00113' and tl_cantidad >5 GROUP BY tl_codigo, t_provee, t_codigo order by tl_codigo
Agradezco la atención y espero me puedan asesorar. Mil gracias nuevamente.

1 Respuesta

Respuesta
1
Intenta esto:
SELECT tl_codigo as codig, t_provee as provee, sum(tl_cantidad)as cantidad, COUNT(tl_cantidad)as numero from Inventario inner join tela on(inventario.tl_codigo = tela.t_codigo) WHERE tela.t_cliente='00113' and inventario.tl_cantidad>5 group by tl_codigo,t_provee order by tl_codigo
Gracias por responderme, pero que crees!, no funciono me sigue arrojando datos que no corresponden con los que tengo en mi tabla, me arroja unos totales muy elevados y no corresponden con lo que tengo. ¿Qué puedo tener mal?, ¿O me falta unir algún otro dato?
Mil gracias por tu ayuda y espero me puedas responder.
Para poder ayudarte pon un ejemplo de cada tabla con datos y que debe de arrojar la consulta.
¿Mil gracias por tu ayuda ya te agregue a mis contactos ojala puedas conectarte para que te pueda explicar o te mando un correo?
Muchas gracias por tu ayuda, mira en mi tabla Inventario tengo el campo tl_codigo que se refiere al código de mi orden o tela. En el campo cantidad, se refiere a la cantidad que existe por cada numero o rollo de tela. Es decir si del código 2714A tengo 20 rollos y 15 son mayores de 5 entonces contare solo esos 15 rollos y su metraje total de esos 15 rollos.
Inventario
tl_codigo=2714A
SUM(tl_cantidad)=2458.56
COUNT(tl_numero)=20
Y de la tabla Tela solo necesito el proveedor por cada código:
Tela
t_codigo=2714A
t_provee="Empresa el Vestir"
t_cliente='00113'
Los datos que me tiene que mostrar serian algo así:
Código de Tela
2417A
1098
1217
1218
1278 B
2129
Proveedor
swift textiles
avondale
Textiles inc
sing textile
tokepeca inc
Parras sa
Yardas Reportadas
170.67
482.82
102.21
5834.79
14020.21
3086.02
Rollos
2
3
6
65
55
21
Pero por ejemplo con la consulta en la que tengo problemas, me arroja que son 2 rollo cuando hay 6 y el total también es mayor puesto que son más rollos. Esto solo me esta mostrando mal los datos en algunos códigos no en todos.
Espero poder haberme explicado y por favor sino avisame para que te explique nuevamente
Muchas Gracias
Erika
Mil gracias aquí te va la estructura de mis tablas, de los campos que necesito:
Tela:
tl_codigo
tl_cantidad
Inventario
t_codigo
t_provee
t_cliente
En la consulta cada campo seria algo asi:
Selecciona de tabla Tela:
t_codigo= 2714A
t_provee= "Empresa el Vestir"
t_cliente='00113'
Y de tabla Inventario:
tl_codigo=2714A
tl_cantidad=2458.56
Count(tl_cantidad)=2
Inner Join Tela donde inventario.tl_codigo=tela.t_codigo esto es: Inventario.2714A sea igual a tela.2714A.
¿Si es así como lo necesitas?, sino te entendí por favor avisame y lo vuelvo a enviar
Muchas Gracias y disculpa tanto la lata.
Erika
Espero que te ayude lo que te dije.
Estuve viendo tu sentencia y tengo algunas dudas el campo de tela tl_codigo es del mismo tipo y es llave foránea de inventario por que se llaman diferentes t_codigo.
Otra cosa ¿por qué en inventario guardas detalles? Se supone que solo es un catalogo debiste de haber creado una tabla de detalle de inventario para que almacenara las entradas y salidas.
Si quieres te paso mi msn para ver esto más a fondo.
[email protected]
Pon los nombres de cada campo de cada tabla para no equiocarme y ver las llaves por ejem.
Tela:
Idtela Nombre Costo
55 Tela uno 5.00
Proveedor:
Idproveedor Nombre idtela
1 Europea 1
Gracias por tu ayuda, no te había contestado aquí como luego te veo en el mensajero pero muchas gracias por tu ayuda, me sirvió de mucho.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas