Revision 46507 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.h2spatial/org.gvsig.h2spatial.h2gis132/org.gvsig.h2spatial.h2gis132.provider/src/test/resources/org/gvsig/fmap/dal/store/h2/usecases/arena2/testGroupByForeignValue.sql

View differences:

testGroupByForeignValue.sql
1 1

  
2
-- ResultSetForSetProvider SQL
3

  
4 2
-- Select 
5 3
SELECT 
6 4
    NULL AS "LID_CONDUCTOR", NULL AS "ID_ACCIDENTE", NULL AS "LID_VEHICULO", NULL AS "ID_VEHICULO", NULL AS "POSIBLE_RESPONSABLE", 
......
16 14
    NULL AS "CONFIRMADO_OTRAS", NULL AS "SIGNOS_INFLU_DROGAS", NULL AS "INFLU_PRES_INFRAC_COND", NULL AS "PRES_INFRAC_COND", 
17 15
    NULL AS "PRES_INFRAC_SIN_LUCES", NULL AS "PRES_INFRAC_SIN_TRIANGULO", NULL AS "INFLU_PRES_INFRAC_VEL", NULL AS "PRES_INFRAC_VEL_COND", 
18 16
    NULL AS "INFLU_OTRA_INFRAC", NULL AS "OTRA_INFRAC_COND", NULL AS "EXTRA", 
19
    EXTRACT(YEAR FROM "public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE") AS "ano", 
20
    "public"."ARENA2_ACCIDENTES"."COD_PROVINCIA" AS "provincia", 
21
    CASE WHEN (("ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("ASISTENCIA_SANITARIA" = 3) OR ("ASISTENCIA_SANITARIA" = 4)) OR ("ASISTENCIA_SANITARIA" = 5)) OR ("ASISTENCIA_SANITARIA" = 6)) OR ("ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END AS "lesividad", 
17
    EXTRACT(YEAR FROM "PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE") AS "ano", 
18
    "PUBLIC"."ARENA2_ACCIDENTES"."COD_PROVINCIA" AS "provincia", 
19
    CASE WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 3) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 4)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 5)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 6)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END AS "lesividad", 
22 20
    SUM(1) AS "Acc" 
23
FROM "public"."ARENA2_CONDUCTORES" 
24
    LEFT JOIN "public"."ARENA2_ACCIDENTES" ON ( ("public"."ARENA2_CONDUCTORES"."ID_ACCIDENTE") = ("public"."ARENA2_ACCIDENTES"."ID_ACCIDENTE") ) 
25
    LEFT JOIN "public"."ARENA2_VEHICULOS" ON ( ("public"."ARENA2_CONDUCTORES"."LID_VEHICULO") = ("public"."ARENA2_VEHICULOS"."LID_VEHICULO") ) 
21
FROM "PUBLIC"."ARENA2_CONDUCTORES" 
22
    LEFT JOIN "PUBLIC"."ARENA2_ACCIDENTES" ON ( ("PUBLIC"."ARENA2_CONDUCTORES"."ID_ACCIDENTE") = ("PUBLIC"."ARENA2_ACCIDENTES"."ID_ACCIDENTE") ) 
23
    LEFT JOIN "PUBLIC"."ARENA2_VEHICULOS" ON ( ("PUBLIC"."ARENA2_CONDUCTORES"."LID_VEHICULO") = ("PUBLIC"."ARENA2_VEHICULOS"."LID_VEHICULO") ) 
26 24
WHERE 
27
    ((("public"."ARENA2_ACCIDENTES"."TITULARIDAD_VIA" = 2) AND ((("public"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 5) OR ("public"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 6)) OR ("public"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 7))) AND (("public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" >= DATE '2019-01-01') AND ("public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" <= DATE '2019-12-31'))) 
25
    ((("PUBLIC"."ARENA2_ACCIDENTES"."TITULARIDAD_VIA" = 2) AND ((("PUBLIC"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 5) OR ("PUBLIC"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 6)) OR ("PUBLIC"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 7))) AND (("PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" >= DATE '2019-01-01') AND ("PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" <= DATE '2019-12-31'))) 
28 26
GROUP BY 
29
    EXTRACT(YEAR FROM "public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE"), 
30
    "public"."ARENA2_ACCIDENTES"."COD_PROVINCIA", 
31
    CASE WHEN (("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 3) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 4)) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 5)) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 6)) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END 
32
ORDER BY "provincia" ASC NULLS LAST;
27
    EXTRACT(YEAR FROM "PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE"), 
28
    "PUBLIC"."ARENA2_ACCIDENTES"."COD_PROVINCIA", 
29
    CASE WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 3) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 4)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 5)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 6)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END 
30
ORDER BY "PUBLIC"."ARENA2_ACCIDENTES"."COD_PROVINCIA" ASC NULLS LAST;
33 31

  
34 32

  
35 33
-- Count
36 34
SELECT COUNT(*) FROM ( 
37
    SELECT 
38
        EXTRACT(YEAR FROM "public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE") AS "ano", 
39
        "public"."ARENA2_ACCIDENTES"."COD_PROVINCIA" AS "provincia", 
40
        CASE WHEN (("ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("ASISTENCIA_SANITARIA" = 3) OR ("ASISTENCIA_SANITARIA" = 4)) OR ("ASISTENCIA_SANITARIA" = 5)) OR ("ASISTENCIA_SANITARIA" = 6)) OR ("ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END AS "lesividad", 
41
        SUM(1) AS "Acc" 
42
    FROM "public"."ARENA2_CONDUCTORES" 
43
        LEFT JOIN "public"."ARENA2_ACCIDENTES" 
44
            ON ( ("public"."ARENA2_CONDUCTORES"."ID_ACCIDENTE") = ("public"."ARENA2_ACCIDENTES"."ID_ACCIDENTE") ) 
45
        LEFT JOIN "public"."ARENA2_VEHICULOS" 
46
            ON ( ("public"."ARENA2_CONDUCTORES"."LID_VEHICULO") = ("public"."ARENA2_VEHICULOS"."LID_VEHICULO") ) 
47
    WHERE ((("public"."ARENA2_ACCIDENTES"."TITULARIDAD_VIA" = 2) AND 
48
        ((("public"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 5) 
49
        OR ("public"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 6)) 
50
        OR ("public"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 7))) 
51
        AND (("public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" >= DATE '2019-01-01') 
52
        AND ("public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" <= DATE '2019-12-31'))) 
35
    SELECT SUM(1) AS "Acc" 
36
    FROM "PUBLIC"."ARENA2_CONDUCTORES" 
37
        LEFT JOIN "PUBLIC"."ARENA2_ACCIDENTES" 
38
            ON ( ("PUBLIC"."ARENA2_CONDUCTORES"."ID_ACCIDENTE") = ("PUBLIC"."ARENA2_ACCIDENTES"."ID_ACCIDENTE") ) 
39
        LEFT JOIN "PUBLIC"."ARENA2_VEHICULOS" 
40
            ON ( ("PUBLIC"."ARENA2_CONDUCTORES"."LID_VEHICULO") = ("PUBLIC"."ARENA2_VEHICULOS"."LID_VEHICULO") ) 
41
    WHERE ((("PUBLIC"."ARENA2_ACCIDENTES"."TITULARIDAD_VIA" = 2) AND 
42
        ((("PUBLIC"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 5) 
43
        OR ("PUBLIC"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 6)) 
44
        OR ("PUBLIC"."ARENA2_VEHICULOS"."TIPO_VEHICULO" = 7))) 
45
        AND (("PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" >= DATE '2019-01-01') 
46
        AND ("PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE" <= DATE '2019-12-31'))) 
53 47
    GROUP BY 
54
        EXTRACT(YEAR FROM "public"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE"), 
55
        "public"."ARENA2_ACCIDENTES"."COD_PROVINCIA", 
56
        CASE WHEN (("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 3) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 4)) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 5)) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 6)) OR ("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("public"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END
57
) as _subquery_alias_ ;
48
        EXTRACT(YEAR FROM "PUBLIC"."ARENA2_ACCIDENTES"."FECHA_ACCIDENTE"), 
49
        "PUBLIC"."ARENA2_ACCIDENTES"."COD_PROVINCIA", 
50
        CASE WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 1)) THEN ('Muerto') WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 2)) THEN ('Grave') WHEN (((((("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 3) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 4)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 5)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 6)) OR ("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 7))) THEN ('Leve') WHEN (("PUBLIC"."ARENA2_CONDUCTORES"."ASISTENCIA_SANITARIA" = 8)) THEN ('Ileso') ELSE ('Se Desconoce') END
51
) AS _subquery_alias_ ;

Also available in: Unified diff