Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Incoveniente con consulta!!! (https://www.clubdelphi.com/foros/showthread.php?t=75471)

negrokau 26-08-2011 14:20:37

Incoveniente con consulta!!!
 
Hola a todos, estoy queriendo hacer una consulta, tengo una tabla con 'x' campos, en donde me interesa el campo DIFERENCIA, alli se va cargando montos negativos (-5.000) como positivos (5.000), lo que quiero es como separar los negativos de los positivos, y que me muestren en una misma grilla a la vez los dos separados esta es mi consulta hecha en un query pero no me funciona
Código Delphi [-]
SELECT NOMBRE, CEDULA, DESCUENTOS, DIFERENCIA, ESTADO, MES, SUELDO FROM LIQUIDACIONES, SOCIOS WHERE LIQUIDACIONES.NRO_SOCIO=SOCIOS.NRO_SOCIO AND DIFERENCIA>0 and  DIFERENCIA<0 AND MES=:CONSULTA

por favor diganme si no me explique bien, gracias por su tiempo

fjcg02 26-08-2011 15:12:43

Código SQL [-]
SELECT 
CASE WHEN DIFERENCIA >=0 THEN DIFERENCIA ELSE 0 END AS DIFPOSITIVA,
CASE WHEN DIFERENCIA <0 THEN DIFERENCIA ELSE 0 END AS DIFNEGATIVA
FROM LIQUIDACIONES, SOCIOS WHERE LIQUIDACIONES.NRO_SOCIO=SOCIOS.NRO_SOCIO
a ver si te vale.

Saludos

negrokau 26-08-2011 15:19:13

Esa consulta lo cargo en el sql del query?

oscarac 26-08-2011 15:28:31

Código Delphi [-]
Select
Case When Diferencia >= 0 then Diferencia else 0 end as Difpos
Case When Diferencia < 0 then Diferencia else 0 end as DifNeg
From Liquidaciones
te pregunto para que tomas la tabla socios si no interviene en la consulta...o es que la diferencia esta en esa tabla

negrokau 26-08-2011 15:33:14

de la tabla de socios arrastra el nro. de documento y sueldo, y de la tabla de liquidaciones la diferencia, mes, monto_descontado y fecha

oscarac 26-08-2011 15:35:53

disculpa pero no te entendi...
podrias hacer algo como esto?
Tabla1
Campo1, campo2., campo3.. campo4...
xxxx...yyyy.zzzzzz...uuuuuu
xxxx...yyyy.zzzzzz...uuuuuu
xxxx...yyyy.zzzzzz...uuuuuu

Tabla2
Campo1, campo2
11111....222222
11111....222222
11111....222222

quiero un resultado como este
xxxx...11111....22222.... 222-1111
yyyy...11111....22222.... 222-1111
zzzz...11111....22222.... 222-1111


para poder tener nua mejor vision de lo que necesitas y darte una mejor respuesta

negrokau 26-08-2011 15:50:57

Originalmente esta era mi consulta y funciona muy bien
Código SQL [-]
SELECT NOMBRE, CEDULA, DESCUENTOS, DIFERENCIA, ESTADO, MES,
SUELDO FROM LIQUIDACIONES, SOCIOS 
WHERE LIQUIDACIONES.NRO_SOCIO=SOCIOS.NRO_SOCIO AND MES=:CONSULTA
esto lo cargue en el sql del QUERY, este query esta vinculado con un datasource, y este data esta vinculado con una dbgrid, alli me muestra todos esos datos de la consulta, funciona perfecto, lo quiero es que me muestre los mismos datos solo que ya discriminando la DIFERENCIA negativa y positiva en la misma grilla siempre, no se si alli se entiende mejor....

oscarac 26-08-2011 15:55:43

ya.. tu quieres identificar las diferencias negativas y positivas verdad?


y que tiene que ver la tabla socios? los campos que solicitas en el query estan en 1 sola tabla? o la tabla socios contiene alguno de ellos

otra cosa que te recomiendo es la utilizacion de Joins

Código Delphi [-]
 
Select Tabla1.Campos, Tabla2.Campos
From Tabla1
Left Join Tabla2 on Tabla1.CampoenComun = tabla2.CampoenComun
Where.... condiciones

negrokau 26-08-2011 16:06:55

la tabla de socios contiene unos datos tambien, la verdad no se como usar el join

oscarac 26-08-2011 16:10:52

Cita:

Empezado por negrokau (Mensaje 410176)
la tabla de socios contiene unos datos tambien, la verdad no se como usar el join

estimado negrokau... lamentablemente la bola de cristal que tenia se me rompio y ya no puedo estar haciendo adivinaciones... te agradeceria que mencionaras que "DATOS" relevantes con la consulta tiene la tabla socios

y respecto a la utilizacion de los join te deje un ejemplo en mi anterior intervencion....

formula bien tu pregunta.... mientas mas informacion facilites... mejores respuesta tendras..... en menos tiempo

No te estoy llamando la atencion... solo te estoy recomendando que nos facilites la vida... a nosotros y a ti...

Casimiro Notevi 26-08-2011 16:24:47

Cita:

Empezado por oscarac (Mensaje 410177)
estimado negrokau... lamentablemente la bola de cristal que tenia se me rompio y ya no puedo estar haciendo adivinaciones...

Es que nuestro presupuesto ya no da para más bolas de cristal. La última que tuve estaba muy bien, se conectaba al puerto USB y apenas consumía recursos, pero se sobrecalentó y se averió :)

Chris 26-08-2011 18:14:13

Cita:

Empezado por negrokau (Mensaje 410161)
Hola a todos, estoy queriendo hacer una consulta, tengo una tabla con 'x' campos, en donde me interesa el campo DIFERENCIA, alli se va cargando montos negativos (-5.000) como positivos (5.000), lo que quiero es como separar los negativos de los positivos, y que me muestren en una misma grilla a la vez los dos separados esta es mi consulta hecha en un query pero no me funciona

Lo que quisiera saber es en qué forma los quieres separar. Juntos en la misma grilla? No era que los querías separados?. Creo que más bien, entre separar y juntar, lo que necesitas es agrupar u ordenar.

Utiliza la claúsula ORDER BY DIFERENCIA, para separar las diferencias de menor a mayor. Así las diferencias negativas aperecerán primero y luego aparecerán las positivas.

Saludos,
Chris

negrokau 26-08-2011 18:35:33

las quiero agrupar y despues separar en columnas diferentes pero en la misma grilla... disculpen mis explicaciones, tratare de ser mas explicativo, muchas gracias igual por el aguante:D

Chris 26-08-2011 18:39:14

Cita:

Empezado por negrokau (Mensaje 410198)
las quiero agrupar y despues separar en columnas diferentes pero en la misma grilla... disculpen mis explicaciones, tratare de ser mas explicativo, muchas gracias igual por el aguante:D

Espare que seas un poco más explicativo antes de contestar. Si te cuesta decirlo en palabras, puedes dibujarlo. No es broma! Muchos acá hemos recurrido a esa técnica cuando sentimos que no podemos explicar lo que deseamos. O creemos que sería más fácil decirlo con un dibujo que utilizando palabras. Una imagen vale más que mil palabras, ya lo sabes!

Saludos,
Chris

negrokau 27-08-2011 18:11:27

Archivo Adjunto 2088
Asi sale mi consulta, lo que quiero es que la diferencia negativa salga en una columna al lado de la columna diferencia, alli van a estar separados y agrupados los montos negavitos y positivos en una misma grilla,ojala se entienda.. gracias

oscarac 27-08-2011 18:26:08

parece que no estas leyendo lo que te estamos diciendo

la consulta quer te dejo fjcg02 hace exactamente lo que tu necesitas y tampoco respondiste a mi pregunta..

la bendita tabla socios que datos tiene?.. son relevantes? involucra la informacion que deseas obtener?

negrokau 27-08-2011 18:29:54

las tabla de socios si es relevante, involucra las campos de sueldo, cedula
y la consulta que me dio fjc02 no me funciona, lo cargo en el "SQL DEL QUERY" y me salta un error con "when" que es desconocido

oscarac 27-08-2011 18:36:18

que base de datos estas usando?
no me digas que access

negrokau 30-08-2011 13:10:34

Interbase estoy usando, gracias por las molestias


La franja horaria es GMT +2. Ahora son las 02:14:26.

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