Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
734 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SELECT sur plusieurs tables à la fois

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SELECT sur plusieurs tables à la fois

n°1242559
Gilgamesh ​d'Uruk
Lui-même
Posté le 09-11-2005 à 18:56:18  profilanswer
 


Bonjour, est il possible de faire un SELECT sur plusieurs tables a la fois dans la même requete, dans l'idée, qqchose comme ça (qui ne marche pas) :  
SELECT DISTINCT debit INTO OUTFILE "debit.csv" FROM semaine39_total OR FROM semaine38_total
 
ou alors (ce qui reviendrait sensiblement au même pour moi), de continuer le fichier "OUTFILE" au lieu d'en créer a chaque fois un nouveau dans la requete suivante.
 
 
merci

mood
Publicité
Posté le 09-11-2005 à 18:56:18  profilanswer
 

n°1242626
TheRom_S
Posté le 09-11-2005 à 20:36:54  profilanswer
 

si tes deux tables ont le meme champ, tu peux faire
 
SELECT champ FROM table1
UNION
SELECT champ FROM table2;
 
je sais plus si tu auras des doublons ou pas


---------------
The Rom's, à votre service
n°1242871
WhyMe
HFR ? Nan, connais pas ...
Posté le 10-11-2005 à 08:26:39  profilanswer
 

La syntaxe exacte est celle ci :
 

Code :
  1. SELECT
  2. TicketsUnion.*
  3. FROM
  4. (
  5. SELECT * FROM Ticket1
  6. UNION ALL
  7. SELECT * FROM Ticket2
  8. ) TicketsUnion


n°1242883
betsamee
Asterisk Zeperyl
Posté le 10-11-2005 à 09:03:21  profilanswer
 

TheRom_S a écrit :

si tes deux tables ont le meme champ, tu peux faire
 
SELECT champ FROM table1
UNION
SELECT champ FROM table2;
 
je sais plus si tu auras des doublons ou pas


le UNION dedoublonne

n°1243329
Gilgamesh ​d'Uruk
Lui-même
Posté le 10-11-2005 à 16:20:13  profilanswer
 

bjr
 
a tous merci pour vos reponse, whyme je ne comprend pas cette syntaxe. Le fait d'avoir un truc du genre SELECT FROM SELECT je pige pas.
 
je voudrais ça :
 
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine01` WHERE `reference` LIKE '52136%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
UNION
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine02` WHERE `refernce` LIKE '52136%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
UNION
(etc)
 
et ben ça marche paaaaas  :cry:  
 
je précise que chaque SELECT lancé tout seul marche très bien. Il me bloque a la 2e ligne reliée par UNION
 
sur http://dev.mysql.com/doc/refman/5.0/fr/union.html
 
je lis que UNION est implémentée en MySQL 4.0.0.
 
je me dis : aurais je une vieille version ?
 
je vois sur l'écran d'accueil :
Bienvenue à phpMyAdmin 2.2.6
MySQL 3.23.49-max-nt sur le serveur localhost - utilisateur : root@localhost
 
 
Je charge et installe la version 5.0, redemarre mais ça le fais pas plus
 
et ça m'affiche toujours MySQL 3.23.49-
 
bouuuuh

Message cité 1 fois
Message édité par Gilgamesh d'Uruk le 10-11-2005 à 17:46:22
n°1243331
Tamahome
⭐⭐⭐⭐⭐
Posté le 10-11-2005 à 16:24:13  profilanswer
 

Gilgamesh d'Uruk a écrit :

bjr
 
whyme merci pour ta reponse, mais je ne comprend pas cette syntaxe. Le fait d'avoir un truc du genre SELECT FROM SELECT je pige pas.
 
je voudrais ça :
 
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine01` WHERE `reference` LIKE '52136%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
UNION
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine02` WHERE `refernce` LIKE '52136%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
UNION
(etc)
 
et ben ça marche paaaaas  :cry:  
 
je précise que chaque SELECT lancé tout seul marche très bien. Il me bloque a la 2e ligne reliée par UNION
 
sur http://dev.mysql.com/doc/refman/5.0/fr/union.html
 
je lis que UNION est implémentée en MySQL 4.0.0.
 
je me dis : aurais je une vieille version ?
 
je vois sur l'écran d'accueil :
Bienvenue à phpMyAdmin 2.2.6
MySQL 3.23.49-max-nt sur le serveur localhost - utilisateur : root@localhost
 
 
Je charge et installe la version 5.0, redemarre mais ça le fais pas plus
 
et ça m'affiche toujours MySQL 3.23.49-
 
bouuuuh


 
Essayes ca :
 
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine01` WHERE `reference` LIKE '52136%' OR `reference` LIKE (etc...)  
UNION  
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine02` WHERE `refernce` LIKE '52136%' OR `reference` LIKE (etc...)  
 
GROUP BY `mois`,`reference`,`debit`  

n°1243370
Gilgamesh ​d'Uruk
Lui-même
Posté le 10-11-2005 à 17:01:06  profilanswer
 

Tamahome a écrit :

Essayes ca :
 
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine01` WHERE `reference` LIKE '52136%' OR `reference` LIKE (etc...)  
UNION  
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semaine02` WHERE `refernce` LIKE '52136%' OR `reference` LIKE (etc...)  
 
GROUP BY `mois`,`reference`,`debit`


 
 
Merci méééé non ça marche pas et les UNION les plus simple non plus genre SELECT 3 UNION SELECTION  -2 ça me renvoit un something wrong. Quasiment sur que c'est un pb de version. MySQL ver 5 est installée mais l'appli tourne sur une ancienne version (qui n'apparait pas dans le installer/desinstakller du panneau de config grrrrr)
 
Sinon, la bonne syntaxe -en principe si j'en crois les tutoriaux- c'est de mettre le GROUP BY "dans" le SELECT
 
a+

n°1243408
Gilgamesh ​d'Uruk
Lui-même
Posté le 10-11-2005 à 17:43:37  profilanswer
 

Boooooon ! C'était bien un pb de version. J'ai résinstallé EasyPHP (ver 1.7) et ça tourne sur une version SQL 4.x donc qui accepte ma syntaxe.  
 
 
Donc pour info ça ressemble à ça :
 
SELECT `debit`,`reference`,`mois`,SUM(quantite) FROM `semaine01` WHERE `reference` LIKE '98754%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
UNION  
SELECT `debit`,`reference`,`mois`,SUM(quantite) FROM `semaine02` WHERE `reference` LIKE '98754%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
UNION
 
etc
 
SELECT `debit`,`reference`,`mois`,SUM(quantite) INTO OUTFILE 'resultat.csv' FROM `semainen` WHERE `reference` LIKE '98754%' OR `reference` LIKE (etc...) GROUP BY `mois`,`reference`,`debit`
 
le into outfile est bien a mettre dans le dernier SELECT
 
a+


Message édité par Gilgamesh d'Uruk le 10-11-2005 à 17:44:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SELECT sur plusieurs tables à la fois

 

Sujets relatifs
SELECT DISTINCT dans un text et longtext[Apache] Fichiers "PerlModule" exécutés 4 fois lors du démarrage...???
trier plusieurs tableau de mem dimension avec un unique ?[Résolu] Plusieurs variables différentes
compter le nombre de fois que le mot est dans une chaine de caractére:[batch][ftp] Peux ton uploder plusieurs tous les fichiers jpeg d'1 rep
Création de selectUn forum, plusieurs bases de données
action sur plusieurs input de formulairepb résolu: utiliser un modéle pour faire plusieurs copies
Plus de sujets relatifs à : SELECT sur plusieurs tables à la fois


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR