Ayuda con una consulta entre dos tablas

JoxMarkes Seguir

No recomendado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
25 Feb 2017
Mensajes
153
Hola amigos. A ver si alguien puede ayudarme con una consulta SQL.

Tengo dos tablas. Tabla usuarios y tabla consultas.

En la tabla usuarios tengo estos campos.

id
usuario
desde
hasta

En la tabla llamadas tengo estos campos.

id
usuario
fechaultimaconsulta

Cada vez que un usuario hace una consulta se registra en la tabla llamadas.

Alguien podría ayudarme a saber el total de registros de la tabla llamadas de un usuario? Hay que comparar con el campo "desde" hasta el dia actual y saber que número de llamadas que ha tenido ese usuario en ese periodo.

Se que es una consulta básica, pero en SQL no ando muy allá y siempre me lo ha hecho un amigo que por desgracia ya no está.

Gracias a todos!
 

Weyne

Alfa
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
13 Jun 2020
Mensajes
15
Hola, aunque no has especificado con qué motor de BD estas trabajando hice un pequeño script en SQL SERVER.

Insertar CODE, HTML o PHP:
CREATE TABLE USUARIOS
(
ID INT PRIMARY KEY IDENTITY(1,1),
USUARIO VARCHAR(25),
DESDE DATETIME,
HASTA DATETIME
)
GO

CREATE TABLE LLAMADAS
(
ID INT PRIMARY KEY IDENTITY(1,1),
USUARIO VARCHAR(25),
FECHAULTIMACONSULTA DATETIME
)

INSERT INTO USUARIOS (USUARIO,DESDE,HASTA) VALUES
('weyne','20201201',NULL),
('JoxMarkes','20201201',NULL)

INSERT INTO LLAMADAS (USUARIO,FECHAULTIMACONSULTA) VALUES
('weyne','20201101'),
('weyne','20201201'),
('weyne','20210101')

SELECT U.USUARIO, COUNT(1) AS [TOTAL LLAMADAS]
FROM USUARIOS U
INNER JOIN LLAMADAS L
    ON U.USUARIO = L.USUARIO
    AND U.DESDE >= L.FECHAULTIMACONSULTA
WHERE U.DESDE <= GETDATE()
GROUP BY U.USUARIO
 
Última edición:

harry69

Beta
Verificación en dos pasos desactivada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
25 Jun 2019
Mensajes
35
si hubieses mostrado el esquema de las tablas y los datos, seria mas sencillo ayudarte.
si no conoces en profundidad el lenguaje, entonces debes hacerlo simple:

SELECT usuarios.usuario, count(*) as "Total llamadas" from usuarios, llamadas
WHERE
usuarios.usuario = llamadas.usuario AND
usuarios.desde >= llamadas.fechaultimaconsulta AND
usuarios.desde <= GETDATE() GROUP BY usuarios.usuario
 

cholemon

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
12 Mar 2017
Mensajes
337
A simple vista puedo ver que tienes mal definida la relación de la BD.
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba