Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   mostrar en 2 campos resultado de una cosulta (https://www.clubdelphi.com/foros/showthread.php?t=80396)

edgar_prospero 25-09-2012 01:22:35

mostrar en 2 campos resultado de una cosulta
 
que hay amigos aqui estoy con un problema del cual no se bien como explicarlo tratare de dar un ejemplo de lo que necesito aver si me doy a entender, tengo una base de datos en mysql con los siguientes datos:
nombre de la tabla: entradas
con los campos codigo, nombre, cantidad, documento fecha, folio un ejemlplo de mi base de datos con informacion

Código:

CODIGO  NOMBRE      FECHA        FOLIO    DOCUMENTO    CANTIDAD
A01        buro      24/09/2012      1            E          8
A01        buro      03/12/2011      2            S          2

ahora lo que quiero lograr es que me muestre los que corresponden a documento E como entradas la cantidad 8 y salidas la cantidad 2 algo asi


Código:

CODIGO        NOMBRE        FECHA          FOLIO      ENTRADAS    SALIDAS
A01            buro          24/09/2012        1          8
A01            buro          03/12/2012        2                      2


Casimiro Notevi 25-09-2012 01:34:26

Te hablo de memoria y no lo he podido probar, mira si te sirve algo así:

Código SQL [-]
select codigo, nombre, fecha, folio, cantidad as entradas where documento='E'
union
select codigo, nombre, fecha, folio, cantidad as salidas  where documento='S'

edgar_prospero 25-09-2012 02:11:04

lo puse de esta manera:

Código SQL [-]
SELECT codigo, nombre,documento, fecha, folio, cantidad AS entradas FROM entradas WHERE documento='E'
UNION
SELECT codigo, nombre, documento, fecha, folio, cantidad AS salidas FROM entradas  WHERE documento='S'


pero todo el resultado de entradas y salidas lo pone en entradas salidas no aparece

Caral 25-09-2012 02:44:04

Hola
No seria suficiente con seleccionar todo ?.
La informacion de una tabla se obtiene por fila esa quiere decir que aunque no quieras siempre que el codigo sea el mismo se presentara en dos lineas.
Saludos

edgar_prospero 25-09-2012 02:46:59

es que yo quiero que me salga asi mira:

Código Delphi [-]
CODIGO        NOMBRE         FECHA          FOLIO      ENTRADA     SALIDAS
A01             buro          24/09/2012         1     8
A01             buro          03/12/2012         2               2
pero con con el codigo que mencione anteriormente me aparece asi

Código Delphi [-]
CODIGO        NOMBRE         FECHA          FOLIO      ENTRADAS   
 A01             buro        24/09/2012        1               8
 A01             buro        03/12/2012        2               2

Caral 25-09-2012 02:54:13

Hola
lo que pretendes es que el espacio vacio que quedara sea un cero (seria lo mas logico) o vacio.
Para eso creo que necesitas que la consulta tenga una condicion.
En firebird se usa IIF (IIF (<condition>, ResultT, ResultF))
Tambien se puede usar CASE
CASE <expression>
WHEN <exp1> THEN result1
WHEN <exp2> THEN result2
...
[ELSE defaultresult]
END
En mysql se puede usar CASE o IF.
Saludos

rgstuamigo 09-10-2012 19:56:44

Haber que tal asì:
Código SQL [-]
Select 
en.Codigo,
en.Nombre,
en.Fecha,
en.Folio,
t1.Entrada,
t2.Salida
from entradas en 
Left Join (select fecha,Documento,Cantidad as Entrada  from entradas where Documento='E') t1 On en.Cantidad= t1.entrada and en.fecha=t1.fecha 
Left Join (select fecha,Documento,Cantidad as Salida  from entradas where Documento='S') t2 On en.Cantidad= t2.Salida and en.fecha=t2.fecha;

Saludos...:)


La franja horaria es GMT +2. Ahora son las 13:09:24.

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