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

Langage SQL Discussion :

select avec des variables fixes


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut select avec des variables fixes
    Bonjour,
    voici la structure de ma table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE `question` (
      `NIPATIENT` int(11) NOT NULL default '0',
      `NIQ` char(3) NOT NULL default '',
      `DATE ENTREE` date NOT NULL default '2008-02-02',
      `LIBABR` varchar(100) NOT NULL default '',
      `REPONSE` text,
      `TYPE` int(1) NOT NULL default '0',
      FULLTEXT KEY `NIQ` (`NIQ`)
    ) TYPE=MyISAM;
    Comment peut on faire des requêtes du genre
    Select * from `question`
    union `3`,`19`,`2008-03-15`,`test`,NULL,`0`


    pour avoir en plus des données de la table, la ligne de la requête,
    quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    1,11,2008-02-02, IDENTITE, NULL, 0
    1, 12, 2008-02-02,Numéro de dossier appareil,EFR1, 1
    1,13,2008-02-02,Date de l'examen, 21/03/2004, 1
    1,15,2008-02-02,Heure de l'examen,12:30, 1
    3,19,2008-03-15,test,NULL,0
    je n'ai pas le droit d'ajouter des données dans la base!

    Je vous remercie d'avance pour votre aide.

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Je n'ai pas vraiment compris ce que tu veux faire.
    Par contre UNION se trouve entre deux SELECT tu n'as pas le droit (du moins que je sache) de mettre un UNION au milieu d'un SELECT.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    Merci pour votre aide,
    en fait je souhaite faire une requête du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM `question`
    union select `NIPATIENT`,"18",`DATE ENTREE`,"test",NULL,"0" from `question`
    par exemple

    et si ma table contient les données:
    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
    NIPATIENT  NIQ  DATE ENTREE  LIBABR  REPONSE  TYPE 
    "1","11","2008-02-02","IDENTITE",NULL,"0"
    "1","12","2008-02-02","Numéro de dossier appareil","EFR1","1"
    "1","13","2008-02-02","Date de l'examen","21/03/2004","1"
    "1","15","2008-02-02","Heure de l'examen","12:30","1"
    "1","16","2008-02-02","Date de naissance","21/07/1977","1"
    "1","17","2008-02-02","TABAC",NULL,"0"
    "1","19","2008-02-02","fumeur","non","1"
    "1","20","2008-02-02","Protocole de recherche",NULL,"0"
    "1","21","2008-02-02","Si protocole : Nom du protocole","protocle 1","1"
    "1","22","2008-02-02","Information/Consentement","oui","1"
    "2","11","2007-07-07","IDENTITE",NULL,"0"
    "2","12","2007-07-07","Numéro de dossier appareil","EFR2","1"
    "2","13","2007-07-07","Date de l'examen","13/12/2005","1"
    "2","14","2007-07-07","Heure de l'examen","10:30","1"
    "2","16","2007-07-07","Date de naissance","22/07/1977","1"
    "2","17","2007-07-07","TABAC",NULL,"0"
    "2","19","2007-07-07","fumeur","oui","1"
    "2","20","2007-07-07","Protocole de recherche",NULL,"0"
    "2","21","2007-07-07","Si protocole : Nom du protocole","protocole 2","1"
    "2","22","2007-07-07","Information/Consentement","non","1"
    après ma requête je veux avoir:
    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
    NIPATIENT  NIQ  DATE ENTREE  LIBABR  REPONSE  TYPE 
    "1","11","2008-02-02","IDENTITE",NULL,"0"
    "1","12","2008-02-02","Numéro de dossier appareil","EFR1","1"
    "1","13","2008-02-02","Date de l'examen","21/03/2004","1"
    "1","15","2008-02-02","Heure de l'examen","12:30","1"
    "1","16","2008-02-02","Date de naissance","21/07/1977","1"
    "1","17","2008-02-02","TABAC",NULL,"0"
    "1","18","2008-02-02","test",NULL,"0"
    "1","19","2008-02-02","fumeur","non","1"
    "1","20","2008-02-02","Protocole de recherche",NULL,"0"
    "1","21","2008-02-02","Si protocole : Nom du protocole","protocle 1","1"
    "1","22","2008-02-02","Information/Consentement","oui","1"
    "2","11","2007-07-07","IDENTITE",NULL,"0"
    "2","12","2007-07-07","Numéro de dossier appareil","EFR2","1"
    "2","13","2007-07-07","Date de l'examen","13/12/2005","1"
    "2","14","2007-07-07","Heure de l'examen","10:30","1"
    "2","16","2007-07-07","Date de naissance","22/07/1977","1"
    "2","17","2007-07-07","TABAC",NULL,"0"
    "2","18","2007-07-07","test",NULL,"0"
    "2","19","2007-07-07","fumeur","oui","1"
    "2","20","2007-07-07","Protocole de recherche",NULL,"0"
    "2","21","2007-07-07","Si protocole : Nom du protocole","protocole 2","1"
    "2","22","2007-07-07","Information/Consentement","non","1"
    je n'ai pas le droit d'ajouter les élements dans la base.

    merci encore pour votre aide.

  4. #4
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select `NIPATIENT`,"18",`DATE ENTREE`,"test",NULL,"0" from DUAL
    C'est ca que tu veux ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    Merci pour votre aide, voilà ce que j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * FROM `question` 
    UNION 
    SELECT `NIPATIENT` , "18", `DATE ENTREE` , "test", NULL , "0"
    FROM `question` 
    ORDER BY 1 , 3, 2
    j'obtiens exactement ce que je veux

    merci encore

  6. #6
    Membre chevronné Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Par défaut
    Citation Envoyé par Smix007 Voir le message
    Merci pour votre aide, voilà ce que j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * FROM `question` 
    UNION 
    SELECT `NIPATIENT` , "18", `DATE ENTREE` , "test", NULL , "0"
    FROM `question` 
    ORDER BY 1 , 3, 2
    j'obtiens exactement ce que je veux

    merci encore
    Oui mais c'est tres tres tres moche ....

    juste pour temontrer pourquoi :
    fais sous ton requeteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT `NIPATIENT` , "18", `DATE ENTREE` , "test", NULL , "0"
    FROM `question`
    Tu devrais avoir (en principe ) une ligne de resultat pour chaque ligne de ta table d'origine...chose que tu vois pas dans ton résultat car le union vire les doublons mais c'est tres tres couteux

    Si toutes tes données de résultat sont en dur, fais ton select sur la table DUAL ....

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

Discussions similaires

  1. [MySQL] Récuperer variable d'un select avec des blancs
    Par nou366 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/02/2011, 18h33
  2. [SqlServer 2K] curseurs avec SELECT contenant des variables
    Par yinyang dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2006, 10h25
  3. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  4. paramétrer ADOConnection avec des variables
    Par ouckileou dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/04/2004, 08h11
  5. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35

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