SQL : Différence entre versions
De Raildar
m (ajout de sémantique) |
|||
Ligne 1 : | Ligne 1 : | ||
− | Trouver les numéros de trains passant à 2 ou plusieurs gares | + | = Trouver les numéros de trains passant à 2 ou plusieurs gares = |
<code> | <code> | ||
* select count(distinct(trains.num)) from trains, missions where missions.id_mission in (select id_mission from arrets where id_gare in (57, 59) group by id_mission having count(distinct id_gare) > 1) and missions.id_train = trains.id_train; | * select count(distinct(trains.num)) from trains, missions where missions.id_mission in (select id_mission from arrets where id_gare in (57, 59) group by id_mission having count(distinct id_gare) > 1) and missions.id_train = trains.id_train; | ||
</code> | </code> | ||
− | Distance entre une geom et un point (en kilomètres) | + | |
+ | = Distance entre une geom et un point (en kilomètres) = | ||
<code> | <code> | ||
* st_distance_sphere(geom_gare, st_geomfromtext('point(3.43 47.3)', 4326))/1000 | * st_distance_sphere(geom_gare, st_geomfromtext('point(3.43 47.3)', 4326))/1000 | ||
</code> | </code> | ||
− | Conversion Lambert II étendu => GPS | + | = Conversion Lambert II étendu => GPS = |
<code> | <code> | ||
* select st_astext(st_transform(st_geomfromtext('point(592777 2432635)', 27582), 4326)); | * select st_astext(st_transform(st_geomfromtext('point(592777 2432635)', 27582), 4326)); | ||
</code> | </code> | ||
− | Calcul du CRC des codes ICU à partir du code DUA | + | = Calcul du CRC des codes ICU à partir du code DUA = |
* Code sous la forme ppsssssx | * Code sous la forme ppsssssx | ||
* faire la somme : 2 s0 + s1 + 2 s2 + s3 + 2 s4 | * faire la somme : 2 s0 + s1 + 2 s2 + s3 + 2 s4 |
Version du 14 janvier 2014 à 09:08
Sommaire
Trouver les numéros de trains passant à 2 ou plusieurs gares
- select count(distinct(trains.num)) from trains, missions where missions.id_mission in (select id_mission from arrets where id_gare in (57, 59) group by id_mission having count(distinct id_gare) > 1) and missions.id_train = trains.id_train;
Distance entre une geom et un point (en kilomètres)
- st_distance_sphere(geom_gare, st_geomfromtext('point(3.43 47.3)', 4326))/1000
Conversion Lambert II étendu => GPS
- select st_astext(st_transform(st_geomfromtext('point(592777 2432635)', 27582), 4326));
Calcul du CRC des codes ICU à partir du code DUA
- Code sous la forme ppsssssx
- faire la somme : 2 s0 + s1 + 2 s2 + s3 + 2 s4
- si s0 >= 5 alors ajouter 1 à la somme
- si s2 >= 5 alors ajouter 1 à la somme également
- si s4 >= 5 alors ajouter 1 à la somme aussi
- x = modulo 10 du resultat