|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Ingénieur développement logiciels Inscription : novembre 2006 Messages : 113 ![]() |
Salut à tous,
Je bloque totalement sur la résolution d'une requête de niveau 1 sur le site sql-ex-ru, pourtant j'arrive à résoudre celles de niveau 3 Alors je ne sais pas peut être bien que je suis vraiment à la ramasse... Voici l'énoncé: on a 4 tables Classes(class, type, country, numGuns, bore, displacement) Ships(name, class, launched) Battles(name, date) Outcomes(ship, battle, result) L'énoncé: For each country, determine battles in which the ships of the given country did not participate. Result set: country, battle Voici le result query attendu country name Germany Guadalcanal Germany North Cape Germany Surigao Strait Germany #Cuba62a Germany #Cuba62b Gt.Britain Guadalcanal Gt.Britain North Atlantic Gt.Britain North Cape Gt.Britain Surigao Strait Gt.Britain #Cuba62a Gt.Britain #Cuba62b Japan North Atlantic Japan North Cape Japan Surigao Strait Japan #Cuba62a Japan #Cuba62b USA North Atlantic USA North Cape USA #Cuba62a USA #Cuba62b Comme on peut le voir on affiche toutes les batailles pour lesquelles aucun navire n'a participé et on affiche son pays("country"), que l'on récupère à partir de la table "classes". A noter que dans le jeu de données, il n'y a pas forcément de "classes" associé à un ship(navire). Pour ma part, j'ai réussi à afficher(et encore) une partie du resultset,c'est-à-dire la colonne "country", mais je n'arrive pas à gérer la colonne "battle". Donc forcément pour l'instant dans ma colonne "battle" j'ai que des "NULL". THX |
|
|
00
|
|
|
#2 |
![]() ![]() |
Le niveau 1 est supérieur au niveau 3 non ?
Parce que ce n'est pas une requête très facile ! Donne nous ta requête.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
Utilisez le NOT EXISTS !
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#4 | ||
|
Candidat au titre de Membre du Club
![]() Ingénieur développement logiciels Inscription : novembre 2006 Messages : 113 ![]() |
Bon je suis toujours bloqué, mais j'ai décomposé le problème:
J'ai commencé par afficher les ships(avec leury country respectives) qui n'ont pas participé à toutes les batailles Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com