Supprimer doublons avec conditions

Fermé
LeGhe - 18 janv. 2012 à 17:55
 LeGhe - 18 janv. 2012 à 19:15
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 vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
18 janv. 2012 à 18:04
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
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 vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
18 janv. 2012 à 18:10
Quels sont les champs de votre table de jointure, et à quoi servent-il ?


Cordialement.
0
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 vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
18 janv. 2012 à 19:11
C'est ceci que vous voulez ?

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



Cordialement.
0
Oui, mais SEULEMENT si ISBN = doublon

id dispo ISBN stock
6 9783897070271 1
0 9783897070271 1
0