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 MySQL Discussion :

Comment indexer une table pour la fusionner


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 40
    Points : 20
    Points
    20
    Par défaut Comment indexer une table pour la fusionner
    Bonjour,

    je travaille avec:
    Windows 7 Professional
    MySQL 5.5
    HeidiSQL

    j'ai la table suivante t_ordo_ligne dont voici la structure:

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    CREATE TABLE `t_ordo_ligne` (
    	`nIdOrdonnance` INT(10) UNSIGNED NOT NULL,
    	`nNumeroLigne` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    	`nIdPatient` INT(10) UNSIGNED NULL DEFAULT NULL,
    	`nIdAntecedent` INT(10) UNSIGNED NULL DEFAULT NULL,
    	`sLibelle` VARCHAR(100) NOT NULL DEFAULT '',
    	`sPosologie` VARCHAR(255) NOT NULL DEFAULT '',
    	`nAld` TINYINT(4) NOT NULL DEFAULT '0',
    	`bUrgence` TINYINT(1) NOT NULL DEFAULT '0',
    	`bADomicile` TINYINT(1) NOT NULL DEFAULT '0',
    	`bDimJF` TINYINT(1) NOT NULL DEFAULT '0',
    	`bNS` TINYINT(1) NOT NULL DEFAULT '0',
    	`bNPD` TINYINT(1) NOT NULL DEFAULT '0',
    	`bDCI` TINYINT(1) NOT NULL DEFAULT '0',
    	`bDopant` TINYINT(1) NOT NULL DEFAULT '0',
    	`bTLC` TINYINT(1) NOT NULL DEFAULT '0',
    	`nTypeOrdo` TINYINT(4) NOT NULL,
    	`nEtatEnreg` TINYINT(1) NOT NULL DEFAULT '1',
    	`sResumePoso` TEXT NOT NULL,
    	`nPrix` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
    	`nNonSubstituable` TINYINT(4) NOT NULL DEFAULT '0',
    	`nFrequence` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    	`rQuantite` DECIMAL(10,3) UNSIGNED NOT NULL DEFAULT '0.000',
    	`nNbJour` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    	`nNbUnite` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    	`sCodeCIP` VARCHAR(255) NOT NULL DEFAULT '',
    	`nRMO` TINYINT(4) NOT NULL DEFAULT '0',
    	`nRenouvellement` TINYINT(4) NOT NULL DEFAULT '0',
    	`sDateFin` VARCHAR(8) NOT NULL DEFAULT '',
    	`sCodePosologie` VARCHAR(20) NOT NULL DEFAULT '',
    	`sDateSuppression` VARCHAR(8) NOT NULL DEFAULT '',
    	`sAction` VARCHAR(16) NOT NULL DEFAULT 'A 20080101000000',
    	`sDH_REPLIC` DATETIME NULL DEFAULT '2010-01-01 00:00:00',
    	INDEX `NDX_t_ordo_ligne_nNumeroLigne` (`nNumeroLigne`),
    	INDEX `FK_ordo_ligne_nIdPatient` (`nIdPatient`),
    	INDEX `FK_ordo_ligne_nIdOrdonnance_ordonnance` (`nIdOrdonnance`),
    	CONSTRAINT `FK_ordo_ligne_nIdOrdonnance_ordonnance` FOREIGN KEY (`nIdOrdonnance`) REFERENCES `t_ordonnance` (`nIdOrdonnance`),
    	CONSTRAINT `FK_ordo_ligne_nIdPatient` FOREIGN KEY (`nIdPatient`) REFERENCES `t_patient` (`nIdPatient`)
    )
    et apres des traitements opérés sur sur cette table les données de la table n'apparaissent pas ordonnée suivant le nIdOrdonnance, le nNumeroLigne, et le nIdPatient malgre les index declarés sur la table.
    Etant donné que je dois fusionner cette table avec avec la meme table d'une autre base, la question est comment reindexer la table t_ordo_ligne(je suis novice en MySQL) pour pouvoir ensuite fusionner la table?

    Merci d'avance

    Cordialement

    Motti

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    La notion "d'ordre" n'existe pas en SQL au sens physique du terme.
    Une ligne peut être insérée n'importe tout.

    Pour avoir un résultat ordonné il faut utiliser la clause ORDER BY en fin de requête.

Discussions similaires

  1. [MySQL] Comment gérer les ' et " dans une table pour exporter en excel
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/11/2011, 19h42
  2. Réponses: 3
    Dernier message: 13/07/2011, 15h21
  3. Réponses: 3
    Dernier message: 08/04/2011, 12h26
  4. Comment créer une table sas pour gérer des queries
    Par arnaldo1974 dans le forum Administration et Installation
    Réponses: 1
    Dernier message: 02/12/2009, 14h39
  5. Conseil pour Indexer une table DBase
    Par alainvh dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/05/2006, 22h27

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