Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ayuda Sql (https://www.clubdelphi.com/foros/showthread.php?t=92219)

Dergon 30-08-2017 03:54:51

Ayuda Sql
 
Hola a todos,necesito ayuda para hacer consultas via sql,tengo dos tablas una de productos y la otra salida de productos,aqui el codigo
Código SQL [-]
   Select 
            saiprod_codproduto,
            saiprod_quantidade,
            saiprod_valorproduto,
            saiprod_valortotal
   from  saida_produto where  
            saiprod_cod_saida_pai = 1 \\aqui viene una variable pero coloque 1 para una muestra
          group by
            saiprod_codproduto,
            saiprod_quantidade,
            saiprod_valorproduto,
            saiprod_valortotal
Resultado,dos registros equivalentes a numero de nota 1
Código:

                    (1, 1, 7000, 5200);
                    (2, 1, 5200, 5200);

Tenemos el codigo 1 y 2,ahora lo que necesito es el nombre del producto,que se encuentra en otra tabla

ElKurgan 30-08-2017 07:35:32

Código SQL [-]
   Select 
            saiprod_codproduto,
            otratabla_nombreproducto, \\ Desconozco el nombre del campo y de la otra tabla
            saiprod_quantidade,
            saiprod_valorproduto,
            saiprod_valortotal
   from  saida_produto, otratabla_producto \\ Desconozco el nombre de la otra tabla. 
   where  
            saiprod_cod_saida_pai = 1 \\aqui viene una variable pero coloque 1 para una muestra
   and  saiprod_codproducto = otratabla_codproducto \\ Desconozco el nombre del campo a relacionar 
          group by
            saiprod_codproduto,
            saiprod_quantidade,
            saiprod_valorproduto,
            saiprod_valortotal,
            otratabla_nombreproducto \\Si no añades también esto al group by no funciona

Debería ser algo asi

Saludos

duilioisola 30-08-2017 13:00:30

Yo lo haría con un JOIN.
Utilizo s y p como alias de las tablas a unir.

Código SQL [-]
select
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.nombre_producto
from saida_produto s
join productos p
on s.saiprod_cod_produto = p.cod_produto
where
    s.saiprod_cod_saida_pai = 1 \\ aqui viene una variable pero coloque 1 para una muestra
group by
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.nombre_producto

Dergon 30-08-2017 17:50:47

Cita:

Empezado por duilioisola (Mensaje 520668)
Yo lo haría con un JOIN.
Utilizo s y p como alias de las tablas a unir.

Código SQL [-]
select
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.nombre_producto
from saida_produto s
join productos p
on s.saiprod_cod_produto = p.cod_produto
where
    s.saiprod_cod_saida_pai = 1 \\ aqui viene una variable pero coloque 1 para una muestra
group by
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.nombre_producto

nuevamente agradezco tu respuesta,puse de esta manera
Código SQL [-]

    select
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.est_produto
from saida_produto s
join estoque p
on s.saiprod_codproduto = p.est_produto
where
    s.saiprod_cod_saida_pai = 1
group by
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.est_produto

sale este error (overflow occurred during datatype coversion.
conversion error from string )

ElKurgan 31-08-2017 07:06:26

¿Pero los campos de ambas tablas son del mismo tipo o no? ¿Qué base de datos utilizas?

Con más información te podremos ayudar mejor

Saludos

Dergon 31-08-2017 15:56:46

Cita:

Empezado por ElKurgan (Mensaje 520703)
¿Pero los campos de ambas tablas son del mismo tipo o no? ¿Qué base de datos utilizas?

Con más información te podremos ayudar mejor

Saludos

Muchas gracias por responder,es una base de datos firebird,ahora paso el tipo de dato

Código SQL [-]
SAIPROD_CODPRODUTO     INTEGER NOT NULL \\ Salida de productos

EST_PRODUTO        VARCHAR(40) CHARACTER SET NONE NOT NULL \\Nombre del producto

Dergon 01-09-2017 18:49:38

Ya encontre el error,estaba colocando la descripcion del producto y no el codigo.
Código SQL [-]
 select
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.est_produto
from saida_produto s
join estoque p
on s.saiprod_codproduto = p.est_produto
where
    s.saiprod_cod_saida_pai = 1
group by
    s.saiprod_codproduto,
    s.saiprod_quantidade,
    s.saiprod_valorproduto,
    s.saiprod_valortotal,
    p.est_produto \\ lo correcto seria (est_codigo)

Muchas gracias a todos.!


La franja horaria es GMT +2. Ahora son las 04:40:32.

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