Aquí los enunciados:
A. Es necesario mostrar el numero de tickets que hay en cada estado (ticket_status_code)
juntamente con el código de ese estado, siempre y cuando el ticket este expedido por un citroen (manufacturer_name) de categoría económica (vehicle_type_description). Si algún estado no tiene ningún ticket no se debe mostrar por pantalla.
B. Se ha descubierto que el sistema ha sacado algunos tickets por error debido al hecho que un vez solicitado el pago se ha generado un evento 'Crear Pago' (Make Payment) pero la fecha del ticket se ha grabado en el campo de fecha del campo cancelado (date_ticket_cancelled) i la barrera se a levantado como si el pago se hubiese realizado correctamente. Se quiere el nombre i el apellido del cliente, así como el telefono de su casa i el identificador del ticket (pcn_ticket_id). Es necesario tener en cuenta que los campos de fecha que no pertocan para un ticket determinado se formatean con un NULL.
C. En el momento en el que el sistema detecta que alguien quiere hacer el pago del ticket de parking genera un evento, y por tanto un proceso llamado ‘Crear pago’ (Make Payment). Dar por pantalla el numero de procesos de este estilo iniciado por el sistema por población (‘town_city’) conjuntamente con el nombre de esta población.
D. Se requiere mostrar por pantalla el nombre y apellidos de los clientes que no son ‘Cleveland’ i que se les ha generado un ticket correcto (‘ticket_status_description’) una vez ha querido pagarlo, es decir, que no se le ha cancelado ni a salido erróneo, Es necesario tener en cuenta que hace falta comprobar no solo el estado, si no también las fechas de la tabla PCN_Parking_Tickets (si son nulas o no, no deberían serlo, en ese caso no ha de aparecer en pantalla), se valorara hacerlo con MINUS.
E. Queremos saber todos los datos de clientes (relaciones ‘Customers’, ‘Addresses’, y
‘Officers’) de los clientes por los cuales se ha generado algún tique erróneo y que han cancelado alguna vez una operación a partir de la implantación de las nuevas tarifas el 1 de enero de 2015.
Aqui las tablas:
Código SQL:
Ver original
CREATE TABLE Ref_Vehicle_Manufactures ( manufacturer_code CHAR(6), manufacturer_name Varchar2(30), PRIMARY KEY (manufacturer_code) ); CREATE TABLE Ref_Vehicle_Types ( vehicle_type_code CHAR(6), vehicle_type_description Varchar2(30), PRIMARY KEY (vehicle_type_code) ); CREATE TABLE Ref_PCN_Ticket_Types ( pcn_type_code CHAR(6), pcn_type_description Varchar2(30), PRIMARY KEY (pcn_type_code) ); CREATE TABLE Ref_Event_Types ( event_type_code CHAR(6), event_type_description Varchar2(30), PRIMARY KEY (event_type_code) ); CREATE TABLE Ref_PCN_Ticket_Status ( ticket_status_code CHAR(6), ticket_status_description Varchar2(30), PRIMARY KEY (ticket_status_code) ); CREATE TABLE Addresses ( address_id CHAR(6), line_1_number_building CHAR(6), line_2_number_street CHAR(6), line_3_number_area_l_s Varchar2(6), line_4_other CHAR(6), town_city Varchar2(30), zip_postcode CHAR(5), state_province_country Varchar2(30), country Varchar2(30), other_address_details Varchar2(30), PRIMARY KEY (address_id) ); CREATE TABLE Officers ( officer_badge_number CHAR(6), officer_address_id CHAR(6), gender Varchar2(10), date_of_birth DATE, officer_first_name Varchar2(30), officer_middle_name Varchar2(30), officer_last_name Varchar2(30), officer_other_details Varchar2(30), PRIMARY KEY (officer_badge_number), FOREIGN KEY (officer_address_id) REFERENCES Addresses (address_id) ); CREATE TABLE Customers ( customer_id CHAR(6), address_id CHAR(6), first_name Varchar2(30), middle_name Varchar2(30), last_name Varchar2(30), home_phone CHAR(9), email_address Varchar2(60), cell_mobile_phone CHAR(9), other_details Varchar2(30), PRIMARY KEY (customer_id), FOREIGN KEY (address_id) REFERENCES Addresses (address_id) ); CREATE TABLE Vehicles ( vehicle_license_number CHAR(6), manufacturer_code CHAR(6), vehicle_type_code CHAR(6), year_of_manufacture CHAR(4), vehicle_details Varchar2(30), model Varchar2(30), PRIMARY KEY (vehicle_license_number), FOREIGN KEY (manufacturer_code) REFERENCES Ref_Vehicle_Manufactures (manufacturer_code), FOREIGN KEY (vehicle_type_code) REFERENCES Ref_Vehicle_Types (vehicle_type_code) ); CREATE TABLE PCN_Parking_Tickets ( pcn_ticket_id CHAR(6), customer_id CHAR(6) UNIQUE, issued_by_officer_badge_number CHAR(6), tiket_status_code CHAR(6), tiket_type_code CHAR(6), vehicle_licence_number CHAR(6), date_ticket_issued DATE, date_ticket_cancelled DATE, date_ticket_paid DATE, other_details Varchar2(30), PRIMARY KEY (pcn_ticket_id), FOREIGN KEY(customer_id) REFERENCES Customers (customer_id), FOREIGN KEY(issued_by_officer_badge_number) REFERENCES Officers (officer_badge_number), FOREIGN KEY(tiket_status_code) REFERENCES Ref_PCN_Ticket_Status (ticket_status_code), FOREIGN KEY(tiket_type_code) REFERENCES Ref_PCN_Ticket_Types (pcn_type_code), FOREIGN KEY(vehicle_licence_number) REFERENCES Vehicles ); CREATE TABLE Events ( event_id CHAR(6), event_type_code CHAR(6), pcn_ticket_id CHAR(6), date_of_event DATE, other_details Varchar2(30), PRIMARY KEY (event_id), FOREIGN KEY (event_type_code) REFERENCES Ref_Event_Types (event_type_code), FOREIGN KEY (pcn_ticket_id) REFERENCES PCN_Parking_Tickets (pcn_ticket_id) );
Cualquier ayuda por pequeña que sea me sera muy útil! gracias por vuestro tiempo.