IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[Debutant] Requête qui fonctionne sur shp et pas sur geopack


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Par défaut [Debutant] Requête qui fonctionne sur shp et pas sur geopack
    Bonjour,
    Avant toute chose, j'ai essayer de trouver une réponse en fouinant sur le forum et je n'ai pas trouver. Pour tout vous dire, je ne sais même pas d’où viens le problème alors je ne sais pas ou chercher.
    Mon problème est le suivant :
    J'ai 2 couches :
    - une couche 'zone' (polygone)
    - une couche 'point' (point)

    La couche point contient un champ "NB_LOG" (entier)
    La couche zone contient 2 champs, un champ "NOM" (texte) et un champ "TOTAL_LOG" (entier)

    Dans le champs "TOTAL_LOG", je souhaite avoir la somme du champs "NB_LOG" des 'point' qui se trouvent dans chaque 'zone'.

    J'ai donc écrit cette requette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT zone.NOM,
    sum(point.NB_LOG) as TOTAL_LOG
    FROM zone, point
    WHERE ST_contains(zone.geometry,point.geometry)
    GROUP BY zone.nom
    Jusque la tout va bien!
    Mon problème c'est que lorsque mes couches sont au format shp cela fonctionne par contre si je prends les même couches mais au format geopack (sqlite si je ne dis pas de bêtise) et bien cela ne fonctionne plus !

    edit : alors en fait ça fonctionne mais le resultat n'est pas bon, j’obtiens la somme totale du "NB_LOG" et ceux dans chaque 'zone' (je ne sais pas si je suis bien clair)

    Est ce que quelqu'un aurait au moins un début de piste parce que je cherche depuis presque une après midi!

    D'avance merci

  2. #2
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2019
    Messages : 2
    Par défaut
    Bonjour,
    Personne n'a de piste? Parce que j'ai beau chercher je ne comprends vraiment pas d'ou vient le problème.
    Cdt

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 779
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 779
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    À quelques rares exceptions près, il ne faut jamais stocker de valeur calculée : non seulement c'est une redondance, mais en plus, il y a un risque d'incohérence. Si la valeur d'une des lignes NB_LOG change, votre total devient faux (de même si des lignes sont supprimées ou ajoutées). Du coup pourquoi vouloir stocker ce total ?

    Sinon, publiez le script de création des deux tables

    Edit : je ne maîtrise pas le SQL sur les données spatiales, mais il semble que vous ayez oublié le critère de jointure (à moins que WHERE ST_contains(zone.geometry,point.geometry) fasse office de ?)

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 042
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    ...il semble que vous ayez oublié le critère de jointure (à moins que WHERE ST_contains(zone.geometry,point.geometry) fasse office de ?)
    Oui !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 042
    Billets dans le blog
    6
    Par défaut
    SVP respectez la charte de postage :
    https://www.developpez.net/forums/a6...gage-sql-lire/
    en indiquant notamment avec quel SGBD vous travaillez...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [MySQL] requête avec sous requete qui fonctionne sur PhpMyAdmin mais pas avec un script PHP
    Par Park033 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/02/2017, 22h18
  2. [MySQL] requete qui fonctionne en phpadmin mais pas en direct ?
    Par goupyl dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 23/02/2010, 10h52
  3. Eval qui fonctionne sur Firefox mais pas sur IE :D
    Par Comawhite dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2006, 11h31
  4. [2.0] connexion qui fonctionne chez moi mais pas sur un autre pc
    Par Lorenzeb dans le forum Accès aux données
    Réponses: 1
    Dernier message: 13/09/2006, 17h47
  5. code qui fonctionne en local et pas sur le net
    Par vraipolite dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/08/2005, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo