begin process at 2012 02 10 08:11:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une requête

 > 

Relevez le défi - SQL pour loterie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Relevez le défi - SQL pour loterie

vendredi 16 septembre 2005 à 17:42:43 | Relevez le défi - SQL pour loterie

bergueira

Bonjour.

J' ai mis en sujet 'Relevez le défi car je crois que c' est vraiment un défi ce que je vaux ! ;) ).

J' ai besoin d'un query (en SQL pour la placer dans mon code java qui se connecte à une base de données MySql) qui me permette de selectionner les gagnants des concours.
- Chaque joueur selecctionne 6 numéros (C1, C2, C3, C4, C5, C6) par bulettin;
- Le tirage a 6 numéros (N1, N2, N3, N4, N5, N6);
- Il y a les classements suivants:
* Premier prix: les joueurs qui ont les 6 numéros;
* Deuxième prix: les joueurs qui ont 5 numéros;
* Troisième prix: les joueurs qui ont 4 numéros;
* Quatrième prix: les joueurs qui ont 2 numéros;

J' aimerais avoir comme résultats les bulletins avec leur prix correspondant; Atention qu' un seul prix (le plus haut) ne peut-être présenté par bulletin (et non pas, par exemple, un deuxième prix + 3 troisième prix + 12 quatrième prix).

Merci d' avance à tous.

Carlos Bergueira

lundi 26 septembre 2005 à 16:35:40 | Re : Relevez le défi - SQL pour loterie

DuckyLuke

Voilà une solution possible: La première requête crée une table temporaire (écrase la table existante si elle existe déjà) avec le nom du joueur et 6 colonnes. Dans la première colonne, on met 1 si le numéro correspond à un numéro de la table tirage. Sinon, on met 0 On fait parait avec les 5 autres colonnes... Ensuite on lance une requête sur la table temporaire créée pour afficher les joueurs gagnants. (On filtre sur 3 numéros trouvés minimum) -- *****Création de la table d'analyse des tirages***** SELECT nom, (IIF(C1 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR1, (IIF(C2 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR2, (IIF(C3 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR3, (IIF(C4 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR4, (IIF(C5 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR5, (IIF(C6 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) AS EXPR6 INTO TEMP_TABLE FROM joueur, tirage ; -- *****Affichage des résultats par joueurs gagnants (par nombres de numéros trouvés)***** SELECT nom, SUM(EXPR1 + EXPR2 + EXPR3 + EXPR4 + EXPR5 + EXPR6) As NB_NUM FROM TEMP_TABLE GROUP BY nom HAVING Sum(EXPR1+EXPR2+EXPR3+EXPR4+EXPR5+EXPR6) > 2 ORDER BY Sum(EXPR1+EXPR2+EXPR3+EXPR4+EXPR5+EXPR6) DESC ; Voilà voilà... pas très compliqué... :P
lundi 26 septembre 2005 à 18:46:40 | Re : Relevez le défi - SQL pour loterie

bergueira

Je te remercie pour ton aide, mais ce que je veux est un peu plus 'complexe'.
Je veux un query optimizé. Trés très rapide !
En créant une table je perds bcp de temps; c' est une des possibilitées mais ce n' est pas la plus rapide.

Je te remercie quand même pour ton aide !

Si qq a une autre idée... je suis prennant ! ;)

Merci.

Carlos Bergueira

mardi 27 septembre 2005 à 09:49:19 | Re : Relevez le défi - SQL pour loterie

DuckyLuke

Si tu ne donnes pas toutes les infos tu peux pas t'attendre à avoir la bonne réponse du premier coup... Si tu creuses un peu la requête ci-dessus, tu arriveras vite au résultat suivant: SELECT nom, SUM( (IIF(C1 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C2 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C3 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C4 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C5 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C6 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) ) AS NB_NUM FROM joueur, tirage GROUP BY nom ORDER BY SUM( (IIF(C1 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C2 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C3 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C4 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C5 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) + (IIF(C6 In ([N1],[N2],[N3],[N4],[N5],[N6]), 1, 0)) ) DESC ; Facile... :P


Cette discussion est classée dans : sql, prix, joueurs, défi, numéros


Répondre à ce message

Sujets en rapport avec ce message

Date dans sql server 2000 [ par Boudchiche ] Salut Avant je vous juste vous dire que j'ai chercher pendant 2 jours soit par google et dans le forum mais je n'ai rien trouvece que s'est que lorsqu requête sql (update avec deux bases) [ par jee0404 ] Bonjour,            Je veux pouvoir updater le prix de mes enregistrements de la base de donnée 1 avec les prix de la base de donné 2 , si le champ it problème avec une requete sql [ par ulysse00 ] bonsoir j'ai une table s'appèle table1 qui contient deux champ code et prix code | prix 100 | 200 300 | 4500 400 | 300 je cherche à fai requete sql pour comparer deux entier [ par wis_soft ] bonjour tout le monde je veut lancer une requete pour selectionner les article dont la valeur et entre min_prix et max_prix est ce que je peut faire sql requettes [ par sfpirate ] bonjour à tous, voila je vais rentrer dans le vif du sujet je beug sur une requettes j'ai une table telque type de siege prix_par_siege rangé Probleme Ms SQL2005 + nvarchar(Max) : Aucun affichage [ par dadbn ] Bonjour à tous, J'ai un soucis avec ma requete SQL (MS SQL Server 2005 + IIS) sur un champs du type nvarchar(MAX). En effet, je n'ai pas le résultat q Les types en sql [ par Psyghoria ] Bonjour, Je fais dans le cadre de mon BTS un formulaire de gestion de base de donnée avec la possibilité de rajouter des colonnes par exemple. Or pou Problème SQL pour gérer les clés étrangéres (urgent) [ par lilj ] Bonsoir, Aprés avoir crée des tables et les requêtes pour les contraintes d'intégrité référentiel, je m'aperçois en faisant des test que la base ne l Lien ODBC [ par sepultur68a ] Hello, je me tourne vers vous car je ne suis vraiment a bout d'idées. J'ai actuellement une base de données SQL, que je configure par le biais de Mic grouper resultats d'une requete [ par o06 ] Bonjour le forum, toujours novice avec SQL, et encore en galère. En bref : j'ai 2 tables distinctes qui contiennent les "mêmes types" de champs. Je s


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales