Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/11/2011, 18h21   #1
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2009
Messages : 248
Points : 236
Points : 236
Par défaut WITH AS

Bonjour,

Existe t-il une commande similaire au WITH AS pour MySQL ?
Et si oui quelle est elle ?

Par exemple pour faire ce type de requête :

Code :
1
2
3
4
5
6
7
8
9
WITH tmp (nego_id, honnoraire) AS (
SELECT tra_nego_honoraires1, sum(tra_honoraires1)
FROM transactions
GROUP BY tra_nego_honoraires1
union ALL 
SELECT tra_nego_honoraires2, sum(tra_honoraires2)
FROM transactions
GROUP BY tra_nego_honoraires2
)
Merci de votre aide.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 22h03   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 644
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 644
Points : 2 641
Points : 2 641
non ca n'existe pas.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 22h32   #3
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2009
Messages : 248
Points : 236
Points : 236
Salut punkoff.

C'est fort dommage. Ça m'aurait vraiment aidé dans le cadre de la même application que l'autre fois mais cette fois pour aller chercher des données dans une base MySQL.

Merci.
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 23h18   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Ca n'existe pas tel quel mais c'est facilement convertissable en sous requête :
Code :
1
2
3
4
5
6
7
8
9
10
WITH tmp (nego_id, honnoraire) AS (
SELECT tra_nego_honoraires1, sum(tra_honoraires1)
FROM transactions
GROUP BY tra_nego_honoraires1
union ALL 
SELECT tra_nego_honoraires2, sum(tra_honoraires2)
FROM transactions
GROUP BY tra_nego_honoraires2
)
SELECT * FROM tmp
devient :
Code :
1
2
3
4
5
6
7
8
SELECT *
  FROM (SELECT tra_nego_honoraires1, sum(tra_honoraires1)
          FROM transactions
         GROUP BY tra_nego_honoraires1
         union ALL 
        SELECT tra_nego_honoraires2, sum(tra_honoraires2)
          FROM transactions
         GROUP BY tra_nego_honoraires2)
Mais évidemment si tmp devait revenir plusieurs fois dans la requête globale alors il faut dupliquer tmp en tant que sous-requête...
MySql offre très peu de fonctionnalité SQL...
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 01h08   #5
Membre confirmé
 
Homme Vincent
Développeur informatique
Inscription : janvier 2009
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2009
Messages : 248
Points : 236
Points : 236
Je vais essayer ça dès demain.

Merci skuatamad
philodido est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h53.


 
 
 
 
Partenaires

Hébergement Web