Supprimer doublons avec conditions

LeGhe -  
 LeGhe -
Bonjour,
Je travaille sur une base SQL de livres avec les champs suivants :
ID livre/Disponibilité fournisseur
Il arrive qu'un livre ait plusieurs fournisseurs qui ne donnent pas la même disponibilité et je voudrais supprimer ceux qui n'ont pas le stock.
Exemple :
livre1/disponible Hachette
livre1/non disponible Gallimard // à supprimer

Quelle requête utiliser ??

Merci !


A voir également:

6 réponses

SlyK Messages postés 854 Date d'inscription   Statut Contributeur sécurité Dernière intervention   147
 
Bonsoir,

Je suppose que vous avez une table pour les livres, une pour les fournisseurs, et une de jointure ?

Si c'est le cas, il vous suffit de regarder dans votre table jointure les livres qui ne possède plus de stock.

Si vous n'avez pas de table de jointure, je peux vous expliquer les raisons de l'avoir, et comment réglé votre problème.


Cordialement.
0
LeGhe
 
Voici un exemple concret de la table en question :

id dispo ISBN stock
6 9783897070271 1
0 9783897070271 1

Quand doublon, je ne veux garder
QUE l'id dispo = 1 si existe et supprimer l'autre
ou l'id dispo différent de 0 et supprimer id dispo = 0

Mais j'avoue que je galère...
0
SlyK Messages postés 854 Date d'inscription   Statut Contributeur sécurité Dernière intervention   147
 
Quels sont les champs de votre table de jointure, et à quoi servent-il ?


Cordialement.
0
LeGhe
 
Je n'ai pas de table de jointure.
- J'ai une base SQL avec mon cataloque de livres, et un champ vide "dispo"
- J'ai une table complémentaire que j'extrais de mon logiciel de libraire en excel (celle dont je parle plus haut) et que j'importe dans ma base dans une nouvelle table
Le champ ISBN (unique) est présent dans la table complémentaire (id dispo/ISBN/stock) et dans la table que je veux mettre à jour.

Et j'aurais voulu une requête genre :
DELETE champ doublon FROM table complémentaire
WHERE iddispo différent de 1
OR iddispo = 0

Du genre quoi !...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SlyK Messages postés 854 Date d'inscription   Statut Contributeur sécurité Dernière intervention   147
 
C'est ceci que vous voulez ?

DELETE * FROM NOM_TABLE WHERE iddispo != 1 OR iddispo == 0



Cordialement.
0
LeGhe
 
Oui, mais SEULEMENT si ISBN = doublon

id dispo ISBN stock
6 9783897070271 1
0 9783897070271 1
0