Análisis léxico sobre primera ocurrencia.

--Buenos días!

--Se tiene las siguientes estructura para el almacenamiento de registro de incidentes delictivos:

CREATE TABLE incidentes(
[fecha] date,
[hora] time,
[delito] nvarchar(255), --tipo de delito ej. Robo de vehículo
[detalle] nvarchar(255), --no relevante en este punto
[descripción] nvarchar(Max), --todo lo especificado en la denuncia.
[municipio] nvarchar(255),
[población] nvarchar(255),
[colonia] nvarchar(255)
)

go

--Lo deseado es establecer las marcas más robadas y la cantidad de ellas por sector (colonia), las marcas han sido guardadas en la siguiente estructura.

CREATE TABLE marcasVehiculos (
[nombre] nvarchar(255)
)
go

--La idea era usar likes con left outer joins, pero el problema que estoy trabajando con registros existentes y capturados al bravazo (por así decir): en descripción se tiene a quien se le robó, las placas, la marca y detalles de los asaltantes. Por ejemplo:

Fecha: 2011-10-05

Hora: 17:23:00

Delito: ROBO VIOLENTO DE VEHÍCULO

Detalle: DE SERVICIO PARTICULAR

Descripción: ROBO VIOELNTO DE VEHÍCULO, ES UN NISSAN TSURU, COLOR GRIS, MODELO 2009, SE DESCONOCEN PLACAS DE CIRCULACIÓN, A NOMBRE DE CADENA COMERCIA OXXO, RESPONSABLES A LA FUGA A BORDO DE UNA HONDA CR-V, COLOR BLANCO. CULIACAN CULIACAN DE ROSALES INFONAVIT HUMAYA

El algoritmo utilizado fue el siguiente:

Si X representa la marca a buscar entonces con un like '*X*' ( donde * es comodín) se contaría a todas las coincidencias. Sin embargo en el caso donde también se establezca el vehículo del delincuente este también es contado.

Entonces si el vehículo del delincuente es Y, y . Se presentan los siguientes casos.

a) '*X*'. Solo se presenta una marca.

b) '*X*X*'. Se presenta el caso de un vehículo robado por otro de la misma marca.

c) '*X*Y*'. Se presenta el robo de un vehículo por otro de diferente marca.

d) '*Y*X*'. El vehículo del delincuente es el de la marca a contar.

La condición elaborada fue la siguiente:

Not

d) AND X<>Y

OR b)

or not a)

0

Añade tu respuesta

Haz clic para o