Y estos son los enunciados de las consultas con el codigo que tengo:
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.
(Esta creo que la tengo mas o menos bien)
Código:
SELECT SUM (tiket_status_code), tiket_status_code
FROM PCN_Parking_Tickets a INNER JOIN Vehicles b
ON a.vehicle_licence_number = b.vehicle_license_number
INNER JOIN Ref_Vehicle_Manufactures c ON b.manufacturer_code = c.manufacturer_code
INNER JOIN Ref_Vehicle_Types d ON d.vehicle_type_code = b.vehicle_type_code
WHERE c.manufacturer_name = 'Citroen' AND d.vehicle_type_description = 'economica'
GROUP BY tiket_status_code;
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.
(En esta la primera parte del enunciado me pierde totalmente, no le hagais mucho caso si no lo entendeis y prestad mas atencion a las otras)
Código:
SELECT c.first_name, c.middle_name, c.last_name, c.home_phone, p.pcn_ticket_id
FROM Customers c LEFT JOIN PCN_Parking_Tickets p
on c.customer_id = p.customer_id;
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.
(Esta me tiene perdido no tengo ni idea de como plantearla)
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.
(Esta creo que esta bien)
Código:
SELECT a.first_name, a.middle_name, a.last_name
FROM Customers a
INNER JOIN PCN_Parking_Tickets b ON a.customer_id = b.customer_id
INNER JOIN Addresses c ON c.address_id = a.address_id
INNER JOIN Ref_PCN_Ticket_Status d ON d.ticket_status_code = b.tiket_status_code
WHERE c.address_id != 'Cleveland'
AND d.ticket_status_description = 'Correcto'
AND b.date_ticket_cancelled IS NOT NULL AND b.date_ticket_issued IS NOT NULL AND b.date_ticket_paid IS NOT NULL;
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.
(Esta me da un error de ora-00904 invalid identifier que probablemente sea muy ridiculo de arreglar pero yo no lo consigo)
Código:
SELECT c.*
FROM Customers c
INNER JOIN PCN_Parking_Tickets p ON c.customer_id = p.customer_id
INNER JOIN Ref_PCN_Ticket_Status d ON d.ticket_status_code = b.tiket_status_code
WHERE p.date_ticket_cancelled > '01-JAN-2015'
AND d.ticket_status_description = 'Erroneo';
Muchas gracias por vuestro tiempo y atención!
P.D. Utilizo ORACLE express y los datos dentro de las tablas son de libre interpretación.[/code]
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A