Requêtes imrbiquées avec MySQL ?

Requêtes imrbiquées avec MySQL ? - SQL/NoSQL - Programmation

Marsh Posté le 11-12-2003 à 22:50:16    

Salut,
 
Existe t'il un moyen détourné qui permet de faire des requêtes imbriquées dans MySQL ? Est il prévu que MySQL le supporte un jour ?
Car en fait je dois faire un TP en SQL et le problème c'est que ca doit tourner sous PostgreSQL, mais je n'ai pour le moment que MySQL sous la main... donc pour tester mes requêtes imbriquées en un seul bloc c'est pas top... c'est même pas possible du tout... Si quelqu'un connait une "technique" merci de me le signaler :) mais je me fais pas trop d'illusion ! je voudrais donc savoir si c'est prévu que MySQL le supporte un jour.
 
:hello:

Reply

Marsh Posté le 11-12-2003 à 22:50:16   

Reply

Marsh Posté le 11-12-2003 à 22:52:21    

Prévu, oui. Déjà présent sur les dernières versions, je sais plus mais ca ne m'étonnerais pas [:figti]


Message édité par mrbebert le 11-12-2003 à 22:52:37
Reply

Marsh Posté le 11-12-2003 à 23:34:25    

A partir de MySQL 4.1 les requêtes imbriquées. Et encore, que les SELECT je pense.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 12-12-2003 à 09:29:43    

Ok merci de vos réponses :jap:

Reply

Marsh Posté le 15-12-2003 à 16:44:33    

je profite de ce topic pour vous demander un coup de paluche. :)
 
Je pense que ça traite du même sujet mais avec une mise en situation disons. :p
 
Voilà, j'ai écrit la requête suivante :

Code :
  1. $requete = "INSERT INTO interventions(Sig, DPC, HPC, DInt, HInt, DRS, HRS, Intervenant, Constat, Approbateur) VALUES (1, ".$dpc.", ".$hpc.", ".$dInt.", ".$hInt.", ".$drs.", ".$hrs.", SELECT Id FROM listeintervenants WHERE Intervenant = '".$_POST['Intervenant']."', '".$_POST['Constat']."', SELECT Id FROM listeapprobateurs WHERE Approbateur = '".$_POST['Approbateur']."')";


 
et php me répond ceci :

Citation :


Impossible d'exécuter la requête "INSERT INTO interventions(Sig, DPC, HPC, DInt, HInt, DRS, HRS, Intervenant, Constat, Approbateur) VALUES (1, 2003-11-18, 1000, 2003-11-18, 1100, 2003-11-18, 1500, SELECT Id FROM listeintervenants WHERE Intervenant = 'Bruno Fouet', 'Constat de validation du dérangement', SELECT Id FROM listeapprobateurs WHERE Approbateur = 'M. Tanjama')"
Erreur : Erreur de syntaxe près de 'SELECT Id FROM listeintervenants WHERE Intervenant = 'Bruno Foue' à la ligne 1


 
Pensez-vous qu'il s'agit du même problème et comment le résoudre ? :jap:

Reply

Marsh Posté le 15-12-2003 à 16:46:05    

à ton avis...

Reply

Marsh Posté le 15-12-2003 à 16:49:42    

oulah, des dates qui ne sont pas entre quotes! c'est gros comme le pied au milieu de la figure! Ah non zut c'est le nez.
 
Pis ya un select perdu à la fin, je me demande ce qu'il fout là. De toute façon, les requêtes imbriquées de type INSERT ne sont supportées dans aucune version de MySQL disponible.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 15-12-2003 à 16:52:40    

drasche a écrit :

oulah, des dates qui ne sont pas entre quotes! c'est gros comme le pied au milieu de la figure! Ah non zut c'est le nez.


 :heink:

Citation :


Pis ya un select perdu à la fin, je me demande ce qu'il fout là. De toute façon, les requêtes imbriquées de type INSERT ne sont supportées dans aucune version de MySQL disponible.


Bon, en fait il n'y a que ça qui m'intéresse.
 
Merci pour les réponses "mais c'est évident couillon !" [:ojap]

Reply

Marsh Posté le 15-12-2003 à 17:01:07    

Quelqu'un pour préciser la pensée de gizmo et de drasche ?

Reply

Marsh Posté le 15-12-2003 à 17:01:49    

ben quand tu mets pas tes dates entre quotes, le parseur MySQL va prendre ça pour une soustraction, voilà tout [:spamafote]  Et comme un entier est différent d'une date, il rouspète.
 
Du reste, le dernier morceau de ta requête imbriquée me semble incorrecte, même pour un SGDB qui supporte complètement les requêtes imbriquées. Si le dernier SELECT doit être pris comme test pour une condition, il faut employer une clause <fieldvalue> NOT IN (select machin tout ça) (enfin si je me rappelle bien :ange:)


Message édité par drasche le 15-12-2003 à 17:02:24

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 15-12-2003 à 17:01:49   

Reply

Marsh Posté le 15-12-2003 à 17:04:07    

ah ok, merci pour l'info. :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed