Saltar al contenido

Resolución de códigos sql


Recommended Posts

publicado

Buenos Días Foro;

La presente tiene para resolver las siguientes dudas respecto a códigos en SQL

teniendo la siguiente información me piden desarrollar las siguientes preguntas:

Empleando la BD INFRANCIONES. Coloque el código SQL para las siguientes consultas:

1. Seleccione los nombres y apellidos de propietarios que tienen más de un vehículo.

2. Seleccione todos los campos de aquellas papeletas que se han impuesto en la segunda quincena del mes de Marzo del 2006.

3. Seleccione las placas de vehículos, la descripción de su color y marca, así como su multa acumulada por todas las papeletas impuestas.

4. Seleccione el código y descripción de las infracciones que no han generado papeletas.

5. Seleccione las descripciones de marcas y la cantidad de vehículos por cada marca.

Luego de las preguntas planteadas empiezo a desarrollar los códigos según mi criterio

pero hay 1 pregunta que no puedo resolver, y quiero saber si las preguntas que he resuelto

están bien desarrolladas .....

Desarrollando los códigos SQL para las siguientes consultas:

1. Seleccione los nombres y apellidos de propietarios que tienen más de un vehículo.

SELECT NOM_PROPIETARIO, APE_PROPIETARIO, COUNT(NUM_PLACA)

FROM TB_PROPIETARIO P INNER JOIN TB_AUTO A ON P.COD_PROPIETARIO=A.COD_PROPIETARIO GROUP BY NOM_PROPIETARIO, APE_PROPIETARIO HAVING COUNT (NUM_PLACA)>1

2. Seleccione todos los campos de aquellas papeletas que se han impuesto en la segunda quincena del mes de Marzo del 2006

SELECT NUM_PAPELETA, FEC_PAPELETA, COD_INFRACCION, NUM_PLACA, EST_PAPELETA, COD_AGENTE

FROM TB_PAPELETA

WHERE FEC_PAPELETA BETWEEN 2006-03-16 AND 2006-03-31

3. Seleccione las placas de vehículos, la descripción de su color y marca, así como su multa acumulada por todas las papeletas impuestas

SELECT NUM_PLACA, DES_COLOR, DES_MARCA, SUM(MULTA)

FROM TB_AUTO, TB_COLOR, TB_INFRACCION, TB_MARCA

WHERE TB_COLOR.COD_COLOR = TB_AUTO.COD_COLOR AND TB_MARCA.COD_MARCA = TB_AUTO.COD_MARCA

GROUP BY NUM_PLACA, DES_COLOR, DES_MARCA

4. Seleccione el código y descripción de las infracciones que no han generado papeletas.

5. Seleccione las descripciones de marcas y la cantidad de vehículos por cada marca.

SELECT DES_MARCA, COUNT(NUM_PLACA)

FROM TB_AUTO A INNER JOIN TB_MARCA M ON

A.COD_MARCA=M.COD_MARCA

GROUP BY DES_MARCA

Infracciones.rar

publicado

No tengo suficientes conocimientos de SQL para resolver la pregunta 4, el resto las he probado sobre la base de datos con el siguiente resultado.

1.-OK

2.-Las fechas deben ir encerradas entre #.

SELECT NUM_PAPELETA, FEC_PAPELETA, COD_INFRACCION, NUM_PLACA, EST_PAPELETA, COD_AGENTE

FROM TB_PAPELETA

WHERE FEC_PAPELETA BETWEEN #2000-01-01# AND #2000-12-31#

3.-OK

5.-OK

publicado

Te dejo el código de la 4 (hecho con el editor de consultas de Access)

SELECT Tb_Infraccion.Cod_Infraccion AS Tb_Infraccion_Cod_Infraccion, Tb_Infraccion.Des_Infraccion, Tb_Infraccion.Multa

FROM Tb_Infraccion LEFT JOIN Tb_Papeleta ON Tb_Infraccion.[Cod_Infraccion] = Tb_Papeleta.[Cod_Infraccion]

WHERE (((Tb_Papeleta.Num_Papeleta) Is Null));

Saludos

publicado

Gracias por su ayuda. Si fácil, cuando vez la solución :D

SELECT I.COD_INFRACCION, I.DES_INFRACCION, I.MULTA

FROM TB_INFRACCION I LEFT JOIN TB_PAPELETA P ON I.COD_INFRACCION = P.COD_INFRACCION

WHERE NUM_PAPELETA IS NULL

Gracias por la ayuda. Cómo le doy resuelto al tema? ...

publicado

@JAIR2289 Solo debes escribirlo hermano......"Tema Solucionado" y los administradores del foro darán por cerrado el mismo.

Que gusto saber que se resolvió tu tema.

Saludos.

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.