Accueil > Forum > > > > Relevez le défi - SQL pour loterie
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
authentification SQL server [ par 1zigoto ]
Bonjour à tous, Dans Enterprise Manager j'ai besoin d'enregistrer mon serveur local dans un groupe et de m'
requete SQL [ par djodjo07 ]
Je cherche une requete SQL pour trier mes ID.. en fait j'aimerais par exemple récupérer des données a partir de l'ID 40 ! Je débute ! Merci
Programme SQL [ par lapucedu88 ]
Bonjour, je suis en deuxiém année de BTS informatique de gestion et je dois réaliser un petit programme SQL.Je sais créer des procédures et des foncti
Erreur de test...SQL Server [ par cid019 ]
voila l'erreur que j'ai lorsque j'essai d'executer la requete suivante:iif(param = val, val1, sum(val2))[BC30201] Expression expected est l'erreurJe n
SQL : probleme de not in [ par bliss_00 ]
Bonjour à tous,je voudrais éxécuter une requête SQL sur une BdD mysql mais apparemment il y aurait une erreur de syntaxe. Je ne suis pas sûr de la syn
Déplacement des bases master, msdb, model, tempdb avec SQL SERVER 7 [ par RXG ]
Bonjour,Je dois réinstaller un serveur de données SQL SERVER 7 mais l'architecture physique entre l'ancien serveur et le nouveau est différente. Il fa
procedure pour travailler sur les DATES [ par Bowen123 ]
Bonjour,Sous SQL SERVER,J'ai une table comprenant une Ligne par demi journée (tbl_CALENDRIER) défini par une date et un indice de demijournée (0 ou 1)
script asp pour rafraichir sql serveur [ par gregorstevens69 ]
Bonjour,quelqu'un connait il un script ASP(si possible) pour rafraichir une bd sql serveur.J'ai un script qui créé des tables mais lorsqu'un utilisate
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
PROCEDURE MYSQLPROCEDURE MYSQL par gearmat
Cliquez pour lire la suite par gearmat
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|