Vous n'êtes pas identifié(e).
Pages : 1
Je veux faire une requête qui retourne un résultat en négatif.
une table films
une table pays
une table box-office qui va chercher le titre du film dans la table films et le nom du pays dans la table payd
la requête ne peut faire qu'un seul select, le but trouver la liste des pays dans lesquels un film n'a pas été pas été présent au box office.
Exemple, le film "le baltringue" a été vu en France mais pas en Italie, le résultat de la requête doit retourner "Italie, le baltringue".
Hors ligne
Quel problème rencontrez-vous exactement ?
Julien.
https://rjuju.github.io/
Hors ligne
je n'arrive pas à récupérer le résultat attendu.
select p.pays, f.film from box_offices bx inner join films f on bx.film_id = f.id inner join pays p on bx.pays_id = p.id;
Cette requête me renvoie liste des films et pays présent au box office, je cherche à faire l'opposé, obtenir la liste des films et pays absents aux box office.
Hors ligne
Un truc de ce genre ?
select p.pays, f.film from bx.film_id = f.id cross join pays p where not exists (select 1 from box_offices bx where bx.film_id = f.id and bx.pays_id = p.id)
Dernière modification par Marc Cousin (19/02/2020 14:16:57)
Marc.
Hors ligne
Je viens de tester mais il y a une erreur sur le "=" de "from bx.film_id = f.id".
ERROR: syntax error at or near "="
Hors ligne
Il manque une partie de la requête effectivement. J'imagine qu'il voulait dire:
select p.pays, f.film from box_offices bx inner join films f on bx.film_id = f.id cross join pays p where not exists (select 1 from box_offices bx where bx.film_id = f.id and bx.pays_id = p.id)
Julien.
https://rjuju.github.io/
Hors ligne
C'est bon mais est-il possible de le faire avec un seul select çàd sans passer par la condition no exists, merci
Hors ligne
Probablement, mais pourquoi cette solution ne vous convient pas ? Le fait que le mot clé SELECT apparaisse 2 fois n'est pas un bon argument.
Julien.
https://rjuju.github.io/
Hors ligne
je suis d'accord avec vous c'est que je voulais faire mais c'est le challenge et c'est compliqué de remplacer le no exists
Hors ligne
Je ne suis pas certain de comprendre quel est votre challenge.
Julien.
https://rjuju.github.io/
Hors ligne
C'est une obligation de n'avoir qu'un seul select même si je suis d'accord avec vous.
Hors ligne
Salut
Peut être...
select ... from (pays cross join film) left join box_offices on box_offices.idfilm=film.idfilm
where box_offices.idfilm is null
@+
Hors ligne
Pages : 1