Oracle - Estoy muy perdido ,necesito hacer esta consulta!!

 
Vista:

Estoy muy perdido ,necesito hacer esta consulta!!

Publicado por LuisItig (1 intervención) el 20/01/2008 10:43:34
Hola, acabo de empezara aprogramar en SQL y la primera consulta que me han pedido hacer es la siguiente:
Número de llamadas salientes externas de un número de teléfono de la compañía, con la suma de la duración de todas las llamadas correspondientes al mes anterior en curso con su coste total. ".
Os indico como son mis tablas, las cuales ya tienen algunos valores introducidos.
Mi problema es que no se como modificar la fecha a ctual para obtener las llamadas, tampoco se como realizar los calculos, y bueno en realidad no se cmo hacer nada, ni como empezar!! a ver si podeis echarme una mano..
Gracias.
CREATE TABLE despachos (Num VARCHAR(7) PRIMARY KEY);

CREATE TABLE niveles (nivel INTEGER PRIMARY KEY);

CREATE TABLE empleados (DNI CHAR(10) PRIMARY KEY,

Nombre VARCHAR (20) UNIQUE NOT NULL,

Apellidos VARCHAR (20) UNIQUE NOT NULL,

NumDpcho VARCHAR(7),

Categoria VARCHAR (1),

FOREIGN KEY (NumDpcho)

REFERENCES Despachos (Num));

CREATE TABLE llamadas(Niv_aut INTEGER NOT NULL,

Coste_conex NUMERIC (3,2),

Coste_min NUMERIC(3,2) NOT NULL,

TipoPrefijo INTEGER PRIMARY KEY,

DescripPrefijo VARCHAR (20),

FOREIGN KEY (Niv_aut) REFERENCES niveles (nivel));

CREATE TABLE Telefonos (nivr INTEGER NOT NULL,

num_telef NUMBER(12) PRIMARY KEY,

despacho VARCHAR(7) NOT NULL,

cod_gasto VARCHAR (5) NOT NULL,

FOREIGN KEY (nivr) REFERENCES niveles (nivel),

FOREIGN KEY (despacho) REFERENCES despachos (num));

CREATE TABLE llamadas_salientes (num_llamada VARCHAR(5) PRIMARY KEY,

inicio DATE NOT NULL,

fin DATE NOT NULL,

Torigen NUMBER(12) NOT NULL,

TDestino NUMBER(12) NOT NULL,

Cpref INTEGER NOT NULL,

Realizada INTEGER NOT NULL,

FOREIGN KEY (TOrigen)

REFERENCES telefonos (num_telef),

FOREIGN KEY (CPref) REFERENCES
llamadas(tipoPrefijo));

He intentado yo empezar con la consulta y lo unico que he hecho es esto ( se que está fatal...):
SELECT COUNT (num_llamada) FROM llamadas_salientes WHERE (Torigen=NUMERO);

FECHA=Sysdate;


SELECT (inicio,fin) FROM llamadas_salientes

WHERE (inicio) BETWEEN TO_DATE('01/'

CONCAT(TO_CHAR(EXTRACT MONTH FROM SYSDATE -1))CONCAT ('/')

CONCAT(TO_CHAR(EXTRACT MONTH FROM SYSDATE )) CONCAT' 00:00:00')

AND

TO_DATE('31/'CONCAT(TO_CHAR(EXTRACT MONTH FROM SYSDATE -1))CONCAT ('/')

CONCAT(TO_CHAR(EXTRACT MONTH FROM SYSDATE ))

CONCAT' 23:59:59' );
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