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

Requêtes et SQL. Discussion :

Supprimer les doublons avec une valeur aléatoire [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Points : 9
    Points
    9
    Par défaut Supprimer les doublons avec une valeur aléatoire
    Bonjour
    je possède une requête sql j’ai définis l’id école pour qu’il soit diffèrent de lid villle (dans une table d’id de 1 à 10) (requete : (WHERE (((infos .id ecole)<>[infos.indville])))
    Resultat :
    id ville Nom Prenom age id ecole
    1 ALAIN paul 25 3
    1 ALAIN paul 25 4
    1 ALAIN david 30 5
    2 BERNARD Martin 40 6
    2 BERNARD Martin 40 7
    2 BERNARD Martin 40 8
    2 BERNARD Martin 40 9

    Mon problème est que j’aimerais en sortie de ma requête un table de cette sorte (garder un id ecole unique aléatoire diffèrent de l’id ville) comme ca :

    id ville Nom Prenom age id ecole
    1 ALAIN paul 25 3
    1 ALAIN david 30 5
    2 BERNARD Martin 40 6
    Mais je ne sais pas comment faire en requête sql ,
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    Bonjour,

    ta sortie ici n'est pas aleatoire, vu que tu as pris la premiere valeur de chaque cas....

    Peux-tu nous expliciter plus precisement ton aleatoire du coup ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Points : 9
    Points
    9
    Par défaut
    [QUOTE=Jean-Philippe André;8797244]Bonjour,

    ta sortie ici n'est pas aleatoire, vu que tu as pris la premiere valeur de chaque cas....

    Peux-tu nous expliciter plus precisement ton aleatoire du coup ? :

    Bonjour,
    Ce que je veux en sortie :c'est prendre n'importe quelle ligne avec une valeur unique de la colonne 4,et usans avoir des doublons pour les autres colonnes (sachant que la lcolonne 4 est une table que j'ai choisi avec des id de 1 à 100 et le critère sur cette colonne elle doit être différente de la 1 colonne )
    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    Solution 1:
    premiere valeur par ligne =
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [id ville],[Nom],[Prenom],[age],MIN([id ecole])
    FROM TaTable
    WHERE [id ville] <> [id ecole]
    GROUP BY [id ville],[Nom],[Prenom],[age]

    valeur aleatoire
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [id ville],[Nom],[Prenom],[age],MONALEATOIRE([id ville],[Nom],[Prenom],[age])
    FROM TaTable

    Avec une fonction VBA du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function MONALEATOIRE(idv As Integer,Nom As String, Prenom As String ,age As Integer) as Integer
    Dim result as Integer
    Do 
    result = CLng(Int((10 * Rnd()) + 1))
    Loop Until DCOUNT("id ville","TaTable","[id ville]=" & idv & " AND [Nom]='" & Replace(Nom,"'","''") & "' AND [Prenom]='" & Replace(Prenom,"'","''") & "' AND [age]=" & age & " and [id ecole]=" & result)=1
    MONALEATOIRE = result
    End Function
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Septembre 2016
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Septembre 2016
    Messages : 67
    Points : 9
    Points
    9
    Par défaut
    Merci de ta réponse
    J'avais déjà testé les solutions 1 et 2, ca marche mais pas à 100 pourcent
    c'est a dire que quand je définis le min par exemple, acess me sort juste par défaut la valeur 1 partout et du coup il supprime egalement la valeur ou la colonne1 est egale à 1.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. [Débutant] supprimer les doublons d'une base access avec datagridview
    Par ziedyah dans le forum ADO.NET
    Réponses: 3
    Dernier message: 19/03/2013, 02h14
  3. Réponses: 2
    Dernier message: 05/07/2012, 15h05
  4. Supprimer les doublons dans une colonne avec condition
    Par sims92.66 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/02/2012, 18h58
  5. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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