Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tri d'une BDD

    22 avril 2011 à 20:00:42

    Bonjour les Zéros !

    J’ai un problème avec les tables SQL ! Voilà, j’ai une table qui gère divers appartements répandus dans la ville. Dans la table, il y a le champ code_appart qui est l’identifiant de chaque appart ! Il y a le champ id_occupant dans lequel est enregistré l’identifiant de l’occupant à une période donnée. A chaque fois qu’un appartement est vidé, une entrée est ajoutée dans laquelle l’id_occupant prend la valeur 1 et quand un nouvel occupant se présente, une nouvelle entrée est ajoutée dans laquelle il y a le code de l’appart, l’id_occupant qui est forcément différent de 1 et la période à laquelle il entre dans l’appart. Evidemment dans le code_appart, des entrées vont se ressembler pour ce champ en fonction des mouvements dans l’appart. Comment coder pour que la BDD me renvoit l’occupant actuel de chaque appartement ?

    Merci de vos réponses
    • Partager sur Facebook
    • Partager sur Twitter
      22 avril 2011 à 20:28:49

      Si tu pouvais mettre les tables avec les clés primaires et etrangéres pour qu'on y voit un peu plus clair comme ça notre réponse le sera d'autant plus :D.
      • Partager sur Facebook
      • Partager sur Twitter
        23 avril 2011 à 9:20:13

        Ça :
        SELECT code_appart, id_occupant, MAX(tonChampDate) 
        FROM taTable 
        GROUP BY code_appart, id_occupant
        
        • Partager sur Facebook
        • Partager sur Twitter
          23 avril 2011 à 12:39:02

          > A chaque fois qu’un appartement est vidé, une entrée est ajoutée dans laquelle
          > l’id_occupant prend la valeur 1

          Pourquoi 1 et pas NULL ? Comment marche ta foreign key ?

          Sinon il est plus pratique d'avoir, dans la table "appartements" une relation sur l'occupant actuel, ta table d'historique devenant donc une table ... d'historique. Ça dénormalise un peu mais cela simplifie et accélère énormément les requêtes.
          • Partager sur Facebook
          • Partager sur Twitter
            23 avril 2011 à 15:57:07

            Merci beaucoup à vous tous pour vos réponses!

            Et un merci particulier à pierreet! Je n'ai pas encore testé mais quand j'nalyse l constitution de la réponse, ça peut passer, bref je vais tester et je vous tiens au courant!

            @Lord Casque Noir : Je ne suis pas un spécialiste de SQL(donc j'ignore certaines choses comme manipuler le NULL), donc je préfère utiliser un nombre que je maîtrise. Mais si tu as une meilleure solution avec NULL, propose-la moi stp, je serai preneur!

            Encore merci pour vos réponses
            • Partager sur Facebook
            • Partager sur Twitter

            Tri d'une BDD

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown