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

Développement SQL Server Discussion :

Json path et récursivité


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2009
    Messages : 171
    Par défaut Json path et récursivité
    Bonjour à tous,

    J'utilise l'option json path pour générer un document json à partir d'une requête SQL au sein de ma SP.
    Jusque la, tout allait bien, par exemple (non testé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    CREATE PROCEDURE maprocedure @size INT, @offset INT, @myLastName NVARCHAR
    AS
        BEGIN
    		WITH FilteredScope AS (
    			SELECT
    				FirstName,
    				LastName,
    				DoB
    			FROM matable1 U
    			WHERE U.FirstName = CASE WHEN LEN(@myLastName) > 0 THEN @myLastName ELSE U.FirstName END
    		)
    		SELECT (
    			SELECT 
    			  U.FistName						AS 'Person.FirstName'
    			, U.LastName						AS 'Person.LastName'
    			, U.DoB								AS 'Person.DoB'
    			FOR JSON PATH, WITHOUT_ARRAY_WRAPPER, INCLUDE_NULL_VALUES
    			) [Json], 
    			(
    				SELECT COUNT(*) FROM FilteredScope
    			) AS Count
    		FROM FilteredScope U
    		ORDER BY U.FirstName ASC
    		OFFSET 
    			@offset ROWS
    		FETCH NEXT 
    			@size ROWS ONLY
        END;
    GO
    Maintenant, je me retrouve avec une récursivité.

    J'aimerais, pour chaque personne, pouvoir ajouter dans mon JSon sa ou ses adresses par exemple.
    Sachant que chaque personne peut en avoir de 0 à X.
    Conservé 1 document JSon par personne, et que celui-ci contienne toutes les adresses de ces dernières sous forme de boucle.

    Est-ce que quelqu'un aurait une idée sur comment aborder la chose ?

    J'ai jeté un coup d'oeil à cet article, sans réussite :
    https://sqlpro.developpez.com/cours/...te-recursives/

    Merci d'avance !

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour,

    vous pouvez faire faire une sous requête corrélée pour former la partie adresse en JSON

Discussions similaires

  1. Cours : algorithmes et récursivité
    Par Community Management dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 17/10/2018, 00h38
  2. Réponses: 9
    Dernier message: 17/02/2016, 17h02
  3. Récursivité : "Materialized path"
    Par Erakis dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/05/2010, 20h52
  4. Réponses: 3
    Dernier message: 10/06/2003, 14h16
  5. Redhat-9 changer le path des databases
    Par jean christophe dans le forum Installation
    Réponses: 7
    Dernier message: 30/05/2003, 17h53

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