Il y a actuellement 95 visiteurs
Vendredi 30 Juillet 2021
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Besoin d'aide en SQL

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Besoin d'aide en SQL

Message le 12 Juil 2005 18:48

Salut à tous!

voici mon problème.

je fais une requete select sur une table. Elle me renvoie plusieurs lignes sur 3 colonnes comme suit : categorie, valeur min, valeur max.

Je veux faire une boucle qui vérifie pour chaque ligne, si une valeur entrée en paramètre de ma procédure stockée est comprise entre les deux valeurs min et max d'une ligne et qui me retourne la catégorie associé à ces valeurs min et max.

Une petite idée?
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 


Message le 12 Juil 2005 20:29

C'est pas que je ne veuille pas t'aider, mais tu ne dis pas en quel language tu veux faire tout ça ? :roll:

Php ? autre ?
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 13 Juil 2005 09:13

En php tu fais juste une fonction qui test si le valeur est comprise entre min et max et si c'est le cas ca retourne la categorie...
if($x<$table['max']&&$x>$table['min'])
return true;
esle false;

et si true $y=$table['categorie'];

et en mettant ca dans la boucle du mysql_fetch_array ca te le fais pour chaque entree dans la table, ca devrait marcher je pense...
Bl4deM4st3R
Sous Expert(e)
Sous Expert(e)
 
Messages: 45
Inscription: 13 Juil 2005 08:44
 

Message le 13 Juil 2005 17:10

non, pas en php, mais bien en sql brut.

on m'a parlé de fetch et de curseur, si ça vous dit quelque chose
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 

Message le 13 Juil 2005 19:23

KeD a écrit:non, pas en php, mais bien en sql brut.

on m'a parlé de fetch et de curseur, si ça vous dit quelque chose


Oui oui ça me dit quelque chose ... Ca remonte à far far away, a long long time ago, mais bon :D

Euh quelle version de SQL ? Quel type de base de données (MySQL, PostgreSQL, Oracle ...) ?
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 13 Juil 2005 21:17

sur une base en SQL Server 2000 (ben vi, c'est du windows :-? )

et bien sur en sql92

en gros, je suppose qu'il s'agit d'une boucle qui parcourt une à une les lignes renvoyées par la requete select. (ça doit être fait avec le fetch je pense)

par contre, le curseur, je vois pas du tout...
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 

Message le 14 Juil 2005 11:32

Bon alors en fouillant dans ma mémoire <pas sûr que ça fonctionne mais bon au pire google t'aidera :wink: >

Donc faut déclarer le curseur comme étant la requête SELECT ...

Code: Tout sélectionner
DECLARE
  ta_var [i]declaration de ta variable[/i]
  row_column tes_colonnes;
  CURSOR nom_curseur IS SELECT [i]ta_requête[/i];

BEGIN
  LOOP
    FETCH nom_curseur INTO row_column.categorie, row_column.val_min, row_column.val_max;
    IF row_column.val_min <= ta_var && row_column.val_max >= ta_var THEN
      [i]tu fais ce que tu veux (retourner la catégorie...[/i]
    ENDIF;
  END LOOP;
  CLOSE nom_curseur;
END;


Ceci est basé sur du SQL pour Oracle, mais bon avec un peu d'adaptation ça devrait passer. Et bon ça fait longtemps que je n'ai pas fait ça donc je garanti rien. Mais bon ça te donne déjà une idée comment le tout fonctionne, et donc si tu veux plus d'infos n'hésites pas :wink:
Il faudra que je me replonge plus amplement dans la doc c'est tout :D
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 15 Juil 2005 22:32

merci beaucoup, avec un peu d'adaptation, j'y suis arrivé.

la syntaxe est quasiment la même (mis à part de LOOP et END LOOP qui ne m'a pas été utilie vu que FETCH est une boucle.)

HS : il faudra que je me plonge un peu dans la doc de oracle, apparement, y'a pas mal de petites différences par rapport à sql server.
Intel Pentium 4 650 3664.10 MHz (original: 3400 MHz, overclock: 8%) // CM Gigabyte GA-8I945P Pro // ATI Radeon X800 XL 512Mo // Maxtor 6L250S0 (250 Go, 7200 RPM, SATA) // Ram : 2 x 512Mo DDR2 // Zalman 9500 AT
Avatar de l'utilisateur
KeD
Apprenti(e) Expert(e)
Apprenti(e) Expert(e)
 
Messages: 110
Inscription: 02 Avr 2003 18:06
Localisation: Grenoble
 

Message le 16 Juil 2005 10:04

Cool :wink:

Faudrait que je révise aussi :oops: :D
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 



Sujets similaires

Message Besoin de conseil pour Upgrade PC motion designer
Bonjour Etant motion designer et monteur vidéo en freelance (je travail essentiellement sur After Effect, premiere pro, illustator et photoshop) j'aurais besoin de conseil dans le but de upgrade ma configuration actuelle: CPU: Intel Core i7 6800K Cadencé à 3.40 GHzCM: MSI X99A RAIDER (MS-7885) 5. ...
Réponses: 0

Message Aide à la décision + besoins informatique
Bonjour à tous,Je viens vers vous car j'ai besoins de quelques conseils de la part de personnes régulièrement au courant des évolutions du monde PC. Je vais mettre mes quelques questions en gras pour faciliter le repérage J'ai acheté il y a 3 ans environ une tour pour un budget d'environ 1000 ? av ...
Réponses: 80

Message vraiment besoin de vous....
comme vous le savez j'ai 46 ans je suis en formation technicien assistance informatique et, aujourd'hui j'ai eu un pré-entretien téléphonique pour peut être enfin un joooobbbbb.... seulement dans les entretiens on me parle toujours de masterisation....J'ai besoin de ce job vraiment.... mais en maste ...
Réponses: 1

Message affichage erroné du nom d'un fichier vidéo - besoin d'aide
BonjourJe vous explique mon problème : quand j'utilise mon player freebox en tant que lecteur réseau, le nom de plusieurs fichiers vidéo (en MKV) est affiché de manière "erronée" (si je puis m'exprimer ainsi) à l'écran.Ainsi, un fichier que j'ai intitulé "1 Le Concert" apparaît à ...
Réponses: 2

Message [Réglé] Aide à l'achat ordi fixe
Bonjour à tous,Je reviens vers vous pour avoir des conseils sur l'achat d'une tour pour mon activité professionnel.Je suis dessinateur projeteur en bâtiment et souhaite investir dans un ordi.A mon taf, je suis sur un ACER Veriton M4640G INTEL CORE i7-6700 3.40 GHz RAM 16 GoCG: NVIDIA Quadro K2000D ...
Réponses: 16

Message Besoin de disque dur
Bonjour ,Je possède un pc avec 3 disques durs qui commencent à fatiguer ( 12 ans ) . je souhaiterai les changer avec des disques durs ssd . Avec tout ce que l'on peut trouver de nos jours sur le marché je suis un peu perdu . J'aurai besoin de vos conseils svp . Les 3 ssd que j?envisagerai d'achet ...
Réponses: 2

Message [CONSEIL ACHAT] Besoin conseil pour un NVME
Hello tout le monde !voilà je viens vers vous pour être sûr de ce que je fait avant achat !J'ai découvert la technologie des NVME par hasard, car je cherchais à remplacer mon SSD de 250 go par un de 1to. Mais J'ai découverts que je pouvais mettre aussi en plus un NVME dans mon pc portable, ce qui me ...
Réponses: 2


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.
cron