1. #1
    Membre à l'essai
    Inscrit en
    avril 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 19
    Points : 12
    Points
    12

    Par défaut Adapter Requete Postgresql a Sqlite

    Bonjour a tous,

    voici une requete que j'utilise depuis un moment sur Postgresql/Postgis et qui fonctionne a merveille.
    Pour des raisons de logistique, je suis aujourd'hui obligé de passer par sqlite mais je n'arrive pas a adapter cette requete.
    Dans un premier, le problème était lier a WITH CTE AS car ma version de sqlite (3.1.7) n'acceptait pas les Common Table Expression.
    Ce problème a été résolu avec la version 3.21.
    Maintenant je crois que ca bloque au niveau du OVER (partion by) mais je ne peus pas m'en sortir.

    Je précise que je ne suis aucunnement développeur, mais un Géomètre/SIGiste...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    WITH CTE AS (
    	SELECT id, geom, line, type, SUM(CASE WHEN line = 1 THEN 1 ELSE 0 END) OVER (partition by type order by id) as ligne
    	from public."726"
    )
    INSERT INTO public."726_Line"
    SELECT ST_MakeLine(geom ORDER BY id ASC) AS geom, type
    FROM CTE
    where line <> 0
    GROUP BY type, ligne;
    UPDATE public."726_Line" SET laenge = st_length(geom)

  2. #2
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 333
    Points : 40 139
    Points
    40 139
    Billets dans le blog
    1

    Par défaut

    Les fonctions de fenêtrage ne sont pas supporté par SQL lite...
    A lire :
    https://www2.sqlite.org/cvstrac/wiki...ticalFunctions

    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...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    8 442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 8 442
    Points : 19 720
    Points
    19 720
    Billets dans le blog
    4

    Par défaut

    Bonjour,

    je croyais avoir déjà posté une réponse mais il s'avère que non ! mauvaise manip de ma part je pense.

    En résumé je demandais la structure des tables concernées et l'objectif à atteindre. (jeu d'essai, résultat attendu)
    en effet je présume que le SQL donné est une tentative en SQLLite (à cause de la CTE) mais contenant encore une partie PostGres d'où le flou.

    Si je m'en tient à la CTE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT id, geom, line, type, SUM(CASE WHEN line = 1 THEN 1 ELSE 0 END) OVER (partition by type order by id) as ligne
    	from public."726"
    ce SQL ne donnerait-il pas le même résultat ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT id,type,SUM(1) From public."726" WHERE line>0 GROOUP BY id,Type
    ensuite la syntaxe du INSERT INTO me pose problème quelles sont les colonnes de "726_line", à quoi correspond ST_MakeLine(geom ORDER BY id ASC)
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
    J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
    Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous

Discussions similaires

  1. [ZF 1.10] Zend_Tool configure db-adapter et Postgresql
    Par ZIED dans le forum Zend_Db
    Réponses: 3
    Dernier message: 03/07/2012, 17h53
  2. requete Postgresql en requête Oracle
    Par wiam26 dans le forum Oracle
    Réponses: 5
    Dernier message: 22/09/2006, 19h07
  3. requete postgresql en c++
    Par ogre dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/12/2003, 23h55
  4. Retour de requete postgresql / Shell Script
    Par doohan dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 26/06/2003, 19h07
  5. Retour de requete postgresql / Shell Script
    Par doohan dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/06/2003, 19h07

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