Está en la página 1de 3

#Liste el nombres y apellidos de los propietarios con m�s un veh�culo.

SELECT b.idPersona, b.Nombres,b.apellidos,COUNT (A.idPersona) as [Total de autos]


From Persona_Vehiculos a
INNER JOIN Persona b ON B.idPersona = A.idPersona
Group by b.Nombres, b.idPersona, b.Apellidos
Having
Count(*) > 1

# Liste el n�mero y fecha de las papeletas que contengan el tipo de infracci�n M2

SELECT * from Papeleta


INNER JOIN Papeleta_Detalle
on Papeleta_Detalle.idPapeleta_Detalle = Papeleta.idPapeleta_Detalle
INNER JOIN Infraccion
on Infraccion.idInfraccion = Papeleta_Detalle.idInfraccion
where Infraccion.Codigo = 'M2'

# Liste las papeletas que se han impuesto en la quincena de marzo del 2010.

SELECT * from Papeleta


INNER JOIN Papeleta_Cabecera
on Papeleta_Cabecera.idPapeleta_Cabecera = Papeleta.idPapeleta_Cabecera
INNER JOIN Persona
on Persona.idPersona = Papeleta_Cabecera.idPersona
INNER JOIN Policia
on Policia.idPolicia = Papeleta_Cabecera.idPolicia
INNER JOIN Papeleta_Detalle
on Papeleta_Detalle.idPapeleta_Detalle = Papeleta.idPapeleta_Detalle
INNER JOIN Infraccion
on Infraccion.idInfraccion = Papeleta_Detalle.idInfraccion
where Papeleta.Fecha = CAST('20100315' as DATETIME)

# Liste los polic�as que hayan impuesto papeletas con el tipo la infracci�n M02.

SELECT * from Papeleta


INNER JOIN Papeleta_Cabecera
on Papeleta_Cabecera.idPapeleta_Cabecera = Papeleta.idPapeleta_Cabecera
INNER JOIN Persona
on Persona.idPersona = Papeleta_Cabecera.idPersona
INNER JOIN Policia
on Policia.idPolicia = Papeleta_Cabecera.idPolicia
INNER JOIN Papeleta_Detalle
on Papeleta_Detalle.idPapeleta_Detalle = Papeleta.idPapeleta_Detalle
INNER JOIN Infraccion
on Infraccion.idInfraccion = Papeleta_Detalle.idInfraccion
where Infraccion.Codigo = 'M2'

# Liste el c�digo y descripci�n de las infracciones que no han generado papeletas.


SELECT * from Infraccion
LEFT JOIN Papeleta_Detalle
on Infraccion.idInfraccion = Papeleta_Detalle.idInfraccion
where Papeleta_Detalle.idPapeleta_Detalle is NULL

# Liste los polic�as (nombres y apellidos concatenados) cuyo apellido contenga �A�.

SELECT Nombres, ApellidosM,ApellidosP

FROM Policia

WHERE
ApellidosP LIKE '%a%' and ApellidosM LIKE'%a%';

# Liste la cantidad de veh�culos por marca y color.

SELECT * from Persona_vehiculos


INNER JOIN Vehiculos
on Persona_Vehiculos.idVehiculos = Vehiculos.idVehiculos
INNER JOIN Persona
on Persona_Vehiculos.idPersona = Persona.idPersona

# Liste el record de papeletas impuestas por polic�as.

SELECT c.Nombres, c.ApellidosM, c.ApellidosP, c.DNI, COUNT (a.idPapeleta) as


Papeletas
From Papeleta a
INNER JOIN Papeleta_Cabecera b ON B.idPapeleta_Cabecera = A.idPapeleta_Cabecera
INNER JOIN Policia c ON c.idPolicia = b.idPolicia
group by c.Nombres, c.ApellidosM, c.ApellidosP, c.DNI
ORDER BY papeletas desc

# Listar cantidad de vehiculos por marca y color

SELECT * from Persona_vehiculos


INNER JOIN Vehiculos
on Persona_Vehiculos.idVehiculos = Vehiculos.idVehiculos
INNER JOIN Persona
on Persona_Vehiculos.idPersona = Persona.idPersona

# Liste los veh�culos (placa) cuyo n�mero de placa en la posici�n 3 contenga �Y�.

SELECT * from Placa


INNER JOIN Vehiculos
on Vehiculos.idVehiculos = Placa.idVehiculos
WHERE
Cod_Placa LIKE '__Y%';

# Liste las placas de veh�culos con las papeletas acumuladas. (de mayor a menor)

SELECT c.idPlaca, c.Cod_Placa, COUNT (a.idPapeleta) as Papeletas


From Papeleta a
INNER JOIN Papeleta_Cabecera b ON B.idPapeleta_Cabecera = A.idPapeleta_Cabecera
INNER JOIN Placa c ON c.idPlaca = a.idPlaca
group by c.idPlaca, c.Cod_Placa
ORDER BY Papeletas desc

También podría gustarte