Titre Fenetre
Contenu Fenetre
Connexion
  • Se souvenir de moi
J'ai oublié mon mot de passe

Nettoyage Base Perso

Attention cette version de BDGest n'est plus maintenue depuis le 15/03/2021. Les version "officielles" sont BDGest Online et BDGest Mobile.

Nettoyage Base Perso

Messagede Arkadin » 18/10/2002 12:37

reposte ton message dans le forum "requetes SQL sur mesure" et tu auras des reponses, moi je suis nulle en SQL :?


Sur ce bon conseil de Flore :oops: :ok: , voici:

Re-,

Je suis en train d'alléger ma base perso en supprimant les auteurs pour lesquels je n'ai actuellement aucun album. (Promis je les rajouterai plus tard en les downloadant de la BeL :mrgreen: )
Cependant, BDGest refuse d'en supprimer certains en précisant que cet auteur est relié à un album, ex-libris, ...Or, ce n'est pas le cas :shock: .
Y a-t-il moyen soit d'identifier le lien au sein de la DB pour le supprimer proprement, ou bien est-il possible de les supprimer par requête SQL :?: :?:
Avatar de l’utilisateur
Arkadin
BDégourdi
BDégourdi
 
Messages: 79
Inscription: 09/10/2002
Localisation: Bruxelles
Age: 50 ans

Nettoyage Base Perso

Messagede Muller Alain » 18/10/2002 12:49

Moi aussi je serais interessé, :mrgreen: car meme prob :grrr:
Avatar de l’utilisateur
Muller Alain
BDémentiel
BDémentiel
 
Messages: 309
Inscription: 03/07/2002
Localisation: Mulhouse (68)
Age: 64 ans

Nettoyage Base Perso

Messagede Arkadin » 18/10/2002 13:13

Va vite voir dans le forum aide et astuce, NicoLagaffe m'a donné la réponse

:ok: :ok:
Avatar de l’utilisateur
Arkadin
BDégourdi
BDégourdi
 
Messages: 79
Inscription: 09/10/2002
Localisation: Bruxelles
Age: 50 ans

Nettoyage Base Perso

Messagede Pascal Forhan » 18/10/2002 14:39

Pour ceux qui ne voient vraiment pas ou est rattaché un auteur, même après avoir regardé les albums, les albums à acheter, les revues, les para-bds, j'ai une petite requète qui permet pour un auteur donné de retrouver partout ou il est utilisé dans la base:

[code:1:350d014fb7]SELECT 'A ACHETER', s.titre, a.titre
FROM acheter a, series s, auteurs au
WHERE s.idserie=a.idserie
and ( au.idauteur=a.idscenariste or au.idauteur=a.iddessinateur or au.idauteur=idcoloriste)
and ucase(au.nom)='MARINI'
union
SELECT 'ALBUMS', s.titre, a.titre
FROM albums a, series s, auteurs au
WHERE s.idserie=a.idserie
and ( au.idauteur=a.idscenariste or au.idauteur=a.iddessinateur or au.idauteur=idcoloriste)
and ucase(au.nom)='MARINI'
union
select 'COLLABORATEURS',s.titre, a.titre
FROM albums a, collaborateurs c, auteurs au, series s
where a.idalbum=c.idalbum
and s.idserie=a.idserie
and au.idauteur=c.idauteur
and ucase(au.nom)='MARINI'
union
select 'PARA-BD', s.titre, e.description
from auteurs au, series s, exlibris e
where e.idserie=s.idserie
and au.idauteur=e.iddessinateur
and ucase(au.nom)='MARINI'
union
select 'REVUES', r.nomrevue, r.num
from auteurs au, revues r
where (r.sujetauteur1=au.idauteur or r.sujetauteur2=au.idauteur or r.sujetauteur3=au.idauteur
or r.sujetauteur4=au.idauteur or r.sujetauteur5=au.idauteur)
and ucase(au.nom)='MARINI'[/code:1:350d014fb7]

J'en suis pas particulièrement fier parce qu'on doit mettre 5 fois le nom de l'auteur (en majuscule pour éviter les fautes de frappe).
Ca ne sépare pas les homonymes a moins de rajouter après chaque nom le prénom: [code:1:350d014fb7]and ucase(au.prenom)='ENRICO'[/code:1:350d014fb7]

Si quelqu'un a une meilleure idée :?:
Avatar de l’utilisateur
Pascal Forhan
BDémoniaque
BDémoniaque
 
Messages: 795
Inscription: 03/07/2002
Age: 51 ans

Nettoyage Base Perso

Messagede PascalB » 18/10/2002 14:52

...j'ai une petite requète... :

[code:1:3008e884f0]SELECT 'A ACHETER', s.titre, a.titre
FROM acheter a, series s, auteurs au
WHERE s.idserie=a.idserie
and ( au.idauteur=a.idscenariste or au.idauteur=a.iddessinateur or au.idauteur=idcoloriste)
and ucase(au.nom)='MARINI'
union
SELECT 'ALBUMS', s.titre, a.titre
FROM albums a, series s, auteurs au
WHERE s.idserie=a.idserie
and ( au.idauteur=a.idscenariste or au.idauteur=a.iddessinateur or au.idauteur=idcoloriste)
and ucase(au.nom)='MARINI'
union
select 'COLLABORATEURS',s.titre, a.titre
FROM albums a, collaborateurs c, auteurs au, series s
where a.idalbum=c.idalbum
and s.idserie=a.idserie
and au.idauteur=c.idauteur
and ucase(au.nom)='MARINI'
union
select 'PARA-BD', s.titre, e.description
from auteurs au, series s, exlibris e
where e.idserie=s.idserie
and au.idauteur=e.iddessinateur
and ucase(au.nom)='MARINI'
union
select 'REVUES', r.nomrevue, r.num
from auteurs au, revues r
where (r.sujetauteur1=au.idauteur or r.sujetauteur2=au.idauteur or r.sujetauteur3=au.idauteur
or r.sujetauteur4=au.idauteur or r.sujetauteur5=au.idauteur)
and ucase(au.nom)='MARINI'[/code:1:3008e884f0]


:roll: :roll: :roll:
Avatar de l’utilisateur
PascalB
BDGestiste Avancé
BDGestiste Avancé
 
Messages: 5505
Inscription: 03/07/2002
Localisation: Partout et ailleurs... surtout ailleurs :-)

Nettoyage Base Perso

Messagede joky » 18/10/2002 14:59

:fant2: :fant2: :fant2: :fant2: :fant2: :fant2: Pas mieux :mrgreen:
Avatar de l’utilisateur
joky
BDéphage
BDéphage
 
Messages: 1707
Inscription: 28/07/2002
Localisation: F-13 Fuveau mais en ce moment, plus WoW :)
Age: 52 ans

Nettoyage Base Perso

Messagede Pascal Forhan » 18/10/2002 15:03

Bon ba, si vous êtes pas content , je la rentre dans ma culotte ma requête et je vous laisse vous débrouiller tout seuls, na ;)
Avatar de l’utilisateur
Pascal Forhan
BDémoniaque
BDémoniaque
 
Messages: 795
Inscription: 03/07/2002
Age: 51 ans

Nettoyage Base Perso

Messagede pedro gil » 18/10/2002 15:26

Bon ba, si vous êtes pas content , je la rentre dans ma culotte ma requête et je vous laisse vous débrouiller tout seuls, na ;)


Pascal il a une maniere, mais ça ne marche pas sur BDGEST, seulment sur access.

Effacer tout les nom="MARINI" de le Union query, et sauver ça comme un query... par example qryToutItems

[code:1:a5482297e7]SELECT 'A ACHETER' AS type, s.titre AS serie , a.titre AS titre,au.nom AS nom
FROM acheter a, series s, auteurs au
WHERE s.idserie=a.idserie
and ( au.idauteur=a.idscenariste or au.idauteur=a.iddessinateur or au.idauteur=idcoloriste)

union

SELECT 'ALBUMS' AS type, s.titre AS serie, a.titre AS titre,au.nom AS nom
FROM albums a, series s, auteurs au
WHERE s.idserie=a.idserie
and ( au.idauteur=a.idscenariste or au.idauteur=a.iddessinateur or au.idauteur=idcoloriste)

union

select 'COLLABORATEURS' AS type,s.titre AS serie, a.titre AS titre,au.nom AS nom
FROM albums a, collaborateurs c, auteurs au, series s
where a.idalbum=c.idalbum
and s.idserie=a.idserie
and au.idauteur=c.idauteur

union

select 'PARA-BD' AS type, s.titre AS serie, e.description AS titre,au.nom AS nom
from auteurs au, series s, exlibris e
where e.idserie=s.idserie
and au.idauteur=e.iddessinateur

UNION select 'REVUES' AS type, r.nomrevue AS serie, r.num AS titre,au.nom AS nom
from auteurs au, revues r
where (r.sujetauteur1=au.idauteur or r.sujetauteur2=au.idauteur or r.sujetauteur3=au.idauteur
or r.sujetauteur4=au.idauteur or r.sujetauteur5=au.idauteur);[/code:1:a5482297e7]

Depuis faire une query comme ça

[code:1:a5482297e7]SELECT *
FROM QryToutItems
WHERE UCase(nom)="MARINI"[/code:1:a5482297e7]

Mais ça marche pas tre vite, avis :|

Pedro Gil
Avatar de l’utilisateur
pedro gil
BDéphile
BDéphile
 
Messages: 1255
Inscription: 02/08/2002
Localisation: P - Lisbonne
Age: 53 ans

Nettoyage Base Perso

Messagede Arkadin » 18/10/2002 15:31

Pour ceux qui ne voient vraiment pas ou est rattaché un auteur, même après avoir regardé les albums, les albums à acheter, les revues, les para-bds, j'ai une petite requète qui permet pour un auteur donné de retrouver partout ou il est utilisé dans la base:

:?:


Ben j'avais encore un petit récalcitrant et j'ai réussi à le :violent: grâce à ta query.
Cool merci bcp
Avatar de l’utilisateur
Arkadin
BDégourdi
BDégourdi
 
Messages: 79
Inscription: 09/10/2002
Localisation: Bruxelles
Age: 50 ans

Nettoyage Base Perso

Messagede pedro gil » 18/10/2002 15:38

Bonjour...

Ila a aussi une autre possibilite, qui je avait deja fait sur une autre message...

Comme ça

[code:1:c23cc9f666]SELECT *
FROM auteurs AS d
WHERE NOT (SELECT COUNT(*)
FROM Albums AS a
WHERE a.IdScenariste = d.IdAuteur
OR a.IdDessinateur = d.IdAuteur
OR a.IdColoriste = d.IdAuteur)
AND NOT (SELECT COUNT(*)
FROM collaborateurs AS c
WHERE c.IdAuteur = d.IdAuteur)
AND NOT (SELECT COUNT(*)
FROM acheter AS b
WHERE b.IdScenariste = d.IdAuteur
OR b.IdDessinateur = d.IdAuteur
OR b.IdColoriste = d.IdAuteur) ;[/code:1:c23cc9f666]

Pedro Gil
Avatar de l’utilisateur
pedro gil
BDéphile
BDéphile
 
Messages: 1255
Inscription: 02/08/2002
Localisation: P - Lisbonne
Age: 53 ans

Nettoyage Base Perso

Messagede Pascal Forhan » 18/10/2002 16:21

Pedro, ta requete ne prend pas en compte les revues et les exlibris

De plus ta requête permet de trouver les auteurs qui ne sont pas utilisés et non de savoir où un auteur qui ne devrait plus être utilisé est encore utilisé, ce que permet la mienne.
Avatar de l’utilisateur
Pascal Forhan
BDémoniaque
BDémoniaque
 
Messages: 795
Inscription: 03/07/2002
Age: 51 ans

Nettoyage Base Perso

Messagede Pascal Forhan » 18/10/2002 16:24

Pascal il a une maniere, mais ça ne marche pas sur BDGEST


c'est bien le problème :mrgreen: :mrgreen:
Avatar de l’utilisateur
Pascal Forhan
BDémoniaque
BDémoniaque
 
Messages: 795
Inscription: 03/07/2002
Age: 51 ans

Nettoyage Base Perso

Messagede pedro gil » 18/10/2002 17:47

Pedro, ta requete ne prend pas en compte les revues et les exlibris

De plus ta requête permet de trouver les auteurs qui ne sont pas utilisés et non de savoir où un auteur qui ne devrait plus être utilisé est encore utilisé, ce que permet la mienne.


Oui Pascal, je sais :D

Voir si tu veux les auter qui sont utilise, effacer le NOT, de la clause WHERE. pour les revues et les ex-libris, tu peu aussi utilizer la part de ton requete sur le subquery...

Quelque chose comme ça...

[code:1:4048632701]SELECT nom
FROM auteurs AS d
WHERE ( (SELECT COUNT(*) as c_alb
FROM album_test AS a
WHERE a.IdScenariste = d.IdAuteur
OR a.IdDessinateur = d.IdAuteur
OR a.IdColoriste = d.IdAuteur)

OR (SELECT COUNT(*)
FROM collaborateurs AS c
WHERE c.IdAuteur = d.IdAuteur)

OR (SELECT COUNT(*)
FROM acheter AS b
WHERE b.IdScenariste = d.IdAuteur
OR b.IdDessinateur = d.IdAuteur
OR b.IdColoriste = d.IdAuteur)

OR (select COUNT(*)
FROM exlibris e
WHERE d.idauteur=e.iddessinateur )

OR ( select COUNT(*)
FROM revues r
WHERE r.sujetauteur1=d.idauteur
OR r.sujetauteur2=d.idauteur
OR r.sujetauteur3=d.idauteur
OR r.sujetauteur4=d.idauteur
OR r.sujetauteur5=d.idauteur )
);[/code:1:4048632701]

Pedro Gil
Avatar de l’utilisateur
pedro gil
BDéphile
BDéphile
 
Messages: 1255
Inscription: 02/08/2002
Localisation: P - Lisbonne
Age: 53 ans

Nettoyage Base Perso

Messagede Pascal Forhan » 19/10/2002 21:35

En fait la demande initiale n'est pas de savoir si c'est utilisé ou non utilisé mais à quel endroit c'est utilisé.
Tes requêtes répondent parfaitement à : est-ce que l'auteur est utilisé ou est-ce que l'auteur n'est pas utilisé, la mienne permet de savoir où l'auteur est utilisé. :ok:
Avatar de l’utilisateur
Pascal Forhan
BDémoniaque
BDémoniaque
 
Messages: 795
Inscription: 03/07/2002
Age: 51 ans

Nettoyage Base Perso

Messagede pedro gil » 19/10/2002 21:56

En fait la demande initiale n'est pas de savoir si c'est utilisé ou non utilisé mais à quel endroit c'est utilisé.
Tes requêtes répondent parfaitement à : est-ce que l'auteur est utilisé ou est-ce que l'auteur n'est pas utilisé, la mienne permet de savoir où l'auteur est utilisé. :ok:


J'étais plus essayant de répondre à ta question que, la question originale :oops: :oops:

Ma requêtes est beaux de tout façon :roll: :roll:

J'essayais de me référer dans le Main Query, à un champ de le SubQuery, mais ne pouvais pas le faire :grrr: , si j'en pourrais achive ça... any :idea:

Pedro Gil
Avatar de l’utilisateur
pedro gil
BDéphile
BDéphile
 
Messages: 1255
Inscription: 02/08/2002
Localisation: P - Lisbonne
Age: 53 ans

Nettoyage Base Perso

Messagede joky » 31/10/2002 21:22

Je n'y connais rien en SQL, c'est juste pour poster un message ici et monopoliser la page d'accueil (aie !! pas tapper Philippe ...) :fant2:
Avatar de l’utilisateur
joky
BDéphage
BDéphage
 
Messages: 1707
Inscription: 28/07/2002
Localisation: F-13 Fuveau mais en ce moment, plus WoW :)
Age: 52 ans

Nettoyage Base Perso

Messagede StephaneA » 31/10/2002 21:29

Je n'y connais rien en SQL, c'est juste pour poster un message ici et monopoliser la page d'accueil (aie !! pas tapper Philippe ...) :fant2:

Philippe, il tape pas, il grise... fait gaffe! :fant1:
Avatar de l’utilisateur
StephaneA
Modérateur
Modérateur
 
Messages: 1961
Inscription: 03/07/2002
Localisation: F-91 Sainte-Geneviève-des-Bois
Age: 50 ans

Nettoyage Base Perso

Messagede pedro gil » 31/10/2002 23:22

Je n'y connais rien en SQL, c'est juste pour poster un message ici et monopoliser la page d'accueil (aie !! pas tapper Philippe ...) :fant2:

Philippe, il tape pas, il grise... fait gaffe! :fant1:

Ehh Philippe et Stephane aussi... :mrgreen: :fant2: :mrgreen:

Bien peut-etre je doit arreter ça... tu ais quand même une BD pour moi... :fant2: :fant2: :fant2: :fant2:

Change de ideia Philippe seulement Joky ;)

Pedro Gil
Avatar de l’utilisateur
pedro gil
BDéphile
BDéphile
 
Messages: 1255
Inscription: 02/08/2002
Localisation: P - Lisbonne
Age: 53 ans

Nettoyage Base Perso

Messagede xof 24 » 31/10/2002 23:43

Joky t'es ou?Pardon de monopoliser c'est juste pour faire un pied de NET a Joky.
"Tout ne doit pas être expliqué" CF Andreas in TaO n°3


Le "RAGOUT du Jeudi "est servi ceJEUDI 24 OCTOBRE Les BDs à vendre de Xof! On clique sur le ===> CLIC...


Rendez Vous Parisien ?? ?? ??
Avatar de l’utilisateur
xof 24
BDGedï
BDGedï
 
Messages: 35980
Inscription: 29/10/2002
Localisation: Membre N° 239
Age: 53 ans

Nettoyage Base Perso

Messagede joky » 02/11/2002 23:33

Joky t'es ou?Pardon de monopoliser c'est juste pour faire un pied de NET a Joky.

Mais il me cherche lui :fant2: (pardon pardon, RHOoooalalalala on va se faire gronder :roll: )
Avatar de l’utilisateur
joky
BDéphage
BDéphage
 
Messages: 1707
Inscription: 28/07/2002
Localisation: F-13 Fuveau mais en ce moment, plus WoW :)
Age: 52 ans

Suivante

Retourner vers BD Gest' 7 (Obsolète)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités