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

SQL Procédural MySQL Discussion :

Pseudo Clonage de ligne


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Par défaut Pseudo Clonage de ligne
    Bonjour,

    Voilà n'étant pas une bête de SQL je cherche un moyen d'effectuer une requête, et j'avoue ne pas avoir la connaissance pour se faire.

    Ma requête de base est une requête typique qui récupère des lignes dans deux tables jointes en fonction de la distance à un point donné en entrée.

    Typiquement pour un point référent de coordonnées 50;80 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT id_objet, property1, property2, position_x, position_y 
    FROM table1 
    INNER JOIN table2 ON table1.id_objet = table2.id_objet 
    WHERE SQRT((position_x - 50)*(position_x - 50) + (position_y - 80)*(position_y - 80)) 
    ORDER BY SQRT((position_x - 50)*(position_x - 50) + (position_y - 80)*(position_y - 80))
    Jusque là tout va bien, maintenant j'ai une colonne qui me dit si elle est à 1 que ma ligne est 'clonée', à ce moment là j'aimerais pouvoir créer un nombre X de clones de cette ligne à une distance aléatoire (mais de 1 maximum), de les renvoyer en même temps que les autres résultats avec les mêmes données mais les coordonnées modifiées, et surtout le plus important: ordonnées.

    Est-ce possible ou pas?

  2. #2
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut
    Je suppose que dans le WHERE il manque quelque chose comme "< DISTANCE". En parlant du WHERE je suggère de faire sauter le SQRT puisqu'il n'est pas utile et alourdira beaucoup les calculs.

    Pour ce qui est des clones, ce sont des points virtuels qui n'existent pas en base ? Ou il s'agit de les créer d'abord puis de les retourner ? Dans le premier cas j'ai une ou deux idées mais je ne sais pas trop si c'est à la BDD de faire ça. Le résultat sera un peu alambiqué pour quelque chose que du code ferait très bien.

    Dans le deuxième cas ce n'est pas vraiment mieux. Je suppose qu'une procédure stoquée serait pas mal si le serveur les supporte. On pourrait avoir le détail des tables (du moins les colonnes impliquées) ?

  3. #3
    Membre chevronné Avatar de jota5450
    Inscrit en
    Janvier 2006
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2006
    Messages : 263
    Par défaut
    slt...

    Possible? peut-etre. avec une procedure...

    Mais je te conseille de le faire sur le soft....

    Demander au sgbd de faire un truc pareil me semble louche...



    edit: message sans reponses pendant a peut pres 2 heures .... et d´un coup 2 messages au meme moment...

  4. #4
    Membre éclairé Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Par défaut
    C'est ce que je me suis dit pour le code, mais je ne voyais pas comment faire, mais maintenant j'ai un peu plus vision de la chose niveau soft (php), donc je vais plutôt le faire comme ça.

    Pour le SQRT je l'ai mis en seconde condition du WHERE avec en première juste des < et >, pour accélérer le traitement.

    Merci.

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

Discussions similaires

  1. [MySQL] Nombre de ligne par pseudo unique
    Par david2511 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/05/2010, 15h55
  2. Clonage ligne de tableau
    Par cbv38 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 20/05/2008, 11h11
  3. Pseudo-classes et style en ligne: possible?
    Par BnA dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/07/2007, 12h47
  4. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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