SQL - Consulta de varios campos

 
Vista:
Imágen de perfil de Carlos

Consulta de varios campos

Publicado por Carlos (1 intervención) el 15/10/2014 00:08:08
Buenas tardes
Quisiera por favor puedan ayudarme
tengo una tabla llamada SaldosPersona, que contiene un campo que se llama TipoCobro.
TipoCobro puede tomar varios valores, por ejemplo PAT, SERV o CON
La consulta que deseo hacer es que me traiga todos los registros donde TipoCobro sea igual a PAT y SERV nada más.

La tabla es mas o menos asi:
idsaldo idpersona tipocobro idrubro
1 2 SERV 1
2 3 PAT 2
3 4 CON 2

Gracias de antemano por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Consulta de varios campos

Publicado por Isaias (1921 intervenciones) el 15/10/2014 01:24:44
¿Qué avance llevas de tu consulta?, ¿Qué motor de base de datos utilizas?

SELECT * FROM SaldosPersona WHERE TipoCobro IN('PAT','SERV')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para isaias

Publicado por estudiante (2 intervenciones) el 07/05/2015 02:55:22
Hola amigo, he visto tus respuestas y a mi parecer eres una eminencia en sql
sabes yo apenas comienzo y tengo un fuerte problema, tengo una tabla con la siguiente estructura
Tabla: Cobranza
clavecredito|ClaveCliente|FechaPrestamo|FechaPago1|FechaPago2|FechaPago3
0003| 001| 1/01/2015 | 1/01/2015 | 15/01/2015 | 1/02/2015

se trata de un programa de prestamos y cuando se otorga un prestamo en los campos FechaPago1..2..3 se guarda las fechas en que tienen que presentarse a pagar,
mi problema es que necesito saber en base a los campos de fecha, que cliente debe y cuantas fechas de adeudo tiene

saludos amigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 25
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

Para isaias

Publicado por Salvador (23 intervenciones) el 08/05/2015 09:47:20
Hola estudiante,

Y si los pagos se atrasan, es decir si en vez de 3 plazos son 4, 5 o más, donde pones el resto de los pago?,
serías aconsejable que modificaras la tabla de Cobranza y crearas una tabla nueva de pago, sería: FechasPagosCredito.

Tabla: Cobranza

1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE Cobranza
  (
    IDCOBRANZA       int IDENTITY(1,1)
    ,CLAVECREDITO    int
    ,CLAVECLIENTE    int
    ,FECHAPRESTAMO   smalldatetime
    ,IMPORTE         decimal(12,2) <-- Importe del prestamo que se le ha dado al cliente
  )
 
CREATE UNIQUE INDEX PKU_IDCOBRANZA ON Cobranza(IDCOBRANZA)
CREATE INDEX PS_CLAVECREDITO ON Cobranza(CLAVECREDITO)
CREATE INDEX PS_FECHAPRESTAMO ON Cobranza(FECHAPRESTAMO)

Eje.:

1
INSERT INTO Cobranza (CLAVECREDITO, CLAVECLIENTE, FECHAPRESTAMO, IMPORTE) VALUES (3, 1, '01/01/2015', 500)

------ * -------

1
2
3
4
5
6
7
CREATE TABLE FechasPagosCredito
  (
    IDFECHAPAGOCREDITO  int IDENTITY(1,1)
    ,FECHAPAGO          smalldatetime
    ,IMPORTE            decimal(12,2)
    ,COBRANZAID         int
  )

y a la hora de insertar los registros sería:

1
2
3
4
INSERT INTO FechasPagosCredito (FECHAPAGO, IMPORTE, CLAVECREDITO) VALUES ('01/01/2015', '250.25', <EL IDCOBRANZA de la tabla Cobranza>)
INSERT INTO FechasPagosCredito (FECHAPAGO, IMPORTE, CLAVECREDITO) VALUES ('15/01/2015', '150.00', <EL IDCOBRANZA de la tabla Cobranza>)
INSERT INTO FechasPagosCredito (FECHAPAGO, IMPORTE, CLAVECREDITO) VALUES ('01/02/2015', '50.75', <EL IDCOBRANZA de la tabla Cobranza>)
INSERT INTO FechasPagosCredito (FECHAPAGO, IMPORTE, CLAVECREDITO) VALUES ('15/02/2015', '49.00', <EL IDCOBRANZA de la tabla Cobranza>)

después a la hora de saber lo que tiene pagado sería:

1
2
3
4
5
6
7
8
9
SELECT
    C.IMPORTE - (
                  SELECT
                      SUM(IMPORTE)
                    FROM FechasPagosCredito
                    WHERE COBRANZAID = C.IDCOBRANZA
                ) AS TOTALPAGADO
  FROM Cobranza AS C
  WHERE C.CLAVECLIENTE = 3

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar