bonjour,
j'apprends à me servir de SQL et j'ai vraiment du mal...
ne trouvant pas l'opérateur de soustraction ensembliste, je cherche à
extraire les doublons (et eux seulement) d'une même colonne.
mes tables d'exercices ont la structure:
-Works (eid*,did*,time) liée à Dept et Emp
-Dept (did*,dname,managerid) liée à Emp
-Emp(eid*,ename,age, salary) liée à Dept
je veux juste les noms du personnel qui est attribué à plus d'un
département. Ca doit se passer en identifiant les doublons Works.eid . Pour
faire l'extraction, je pensais à un truc du genre:
SELECT Works.eid FROM Works
EXCEPT
SELECT DISTINCT W2.eid FROM Works AS W2
mais except et minus ne sont reconnus...
Je vois pas comment faire... quelqu'un aurait-t'il une piste? Des
commentaires?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gafish
Bonjour,
Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans ton exemple :
SELECT Works.eid FROM Works WHERE Worls.eid NOT IN (SELECT DISTINCT W2.eid FROM Works AS W2)
Après pour résoudre ton problème, je ne suis pas sur que cette requete remplisse son rôle, en revanche un employé affecté à plus d'un département aura plus d'une ligne dans ta table "Works", une piste : tu peux peut etre grouper par numéro d'employé, et faire un count sur le nombre de département par groupe.
Arnaud
"bilbo" a écrit dans le message news: cho0se$b4q$
bonjour, j'apprends à me servir de SQL et j'ai vraiment du mal... ne trouvant pas l'opérateur de soustraction ensembliste, je cherche à extraire les doublons (et eux seulement) d'une même colonne.
mes tables d'exercices ont la structure: -Works (eid*,did*,time) liée à Dept et Emp -Dept (did*,dname,managerid) liée à Emp -Emp(eid*,ename,age, salary) liée à Dept
je veux juste les noms du personnel qui est attribué à plus d'un département. Ca doit se passer en identifiant les doublons Works.eid .
Pour
faire l'extraction, je pensais à un truc du genre:
SELECT Works.eid FROM Works EXCEPT SELECT DISTINCT W2.eid FROM Works AS W2 mais except et minus ne sont reconnus... Je vois pas comment faire... quelqu'un aurait-t'il une piste? Des commentaires?
Bonjour,
Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans ton
exemple :
SELECT Works.eid FROM Works
WHERE Worls.eid NOT IN
(SELECT DISTINCT W2.eid FROM Works AS W2)
Après pour résoudre ton problème, je ne suis pas sur que cette requete
remplisse son rôle, en revanche un employé affecté à plus d'un département
aura plus d'une ligne dans ta table "Works", une piste : tu peux peut etre
grouper par numéro d'employé, et faire un count sur le nombre de département
par groupe.
Arnaud
"bilbo" <bilbo8@free.fr> a écrit dans le message news:
cho0se$b4q$1@news.tiscali.fr...
bonjour,
j'apprends à me servir de SQL et j'ai vraiment du mal...
ne trouvant pas l'opérateur de soustraction ensembliste, je cherche à
extraire les doublons (et eux seulement) d'une même colonne.
mes tables d'exercices ont la structure:
-Works (eid*,did*,time) liée à Dept et Emp
-Dept (did*,dname,managerid) liée à Emp
-Emp(eid*,ename,age, salary) liée à Dept
je veux juste les noms du personnel qui est attribué à plus d'un
département. Ca doit se passer en identifiant les doublons Works.eid .
Pour
faire l'extraction, je pensais à un truc du genre:
SELECT Works.eid FROM Works
EXCEPT
SELECT DISTINCT W2.eid FROM Works AS W2
mais except et minus ne sont reconnus...
Je vois pas comment faire... quelqu'un aurait-t'il une piste? Des
commentaires?
Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans ton exemple :
SELECT Works.eid FROM Works WHERE Worls.eid NOT IN (SELECT DISTINCT W2.eid FROM Works AS W2)
Après pour résoudre ton problème, je ne suis pas sur que cette requete remplisse son rôle, en revanche un employé affecté à plus d'un département aura plus d'une ligne dans ta table "Works", une piste : tu peux peut etre grouper par numéro d'employé, et faire un count sur le nombre de département par groupe.
Arnaud
"bilbo" a écrit dans le message news: cho0se$b4q$
bonjour, j'apprends à me servir de SQL et j'ai vraiment du mal... ne trouvant pas l'opérateur de soustraction ensembliste, je cherche à extraire les doublons (et eux seulement) d'une même colonne.
mes tables d'exercices ont la structure: -Works (eid*,did*,time) liée à Dept et Emp -Dept (did*,dname,managerid) liée à Emp -Emp(eid*,ename,age, salary) liée à Dept
je veux juste les noms du personnel qui est attribué à plus d'un département. Ca doit se passer en identifiant les doublons Works.eid .
Pour
faire l'extraction, je pensais à un truc du genre:
SELECT Works.eid FROM Works EXCEPT SELECT DISTINCT W2.eid FROM Works AS W2 mais except et minus ne sont reconnus... Je vois pas comment faire... quelqu'un aurait-t'il une piste? Des commentaires?
bilbo
"Gafish" a écrit dans le message de news:
Bonjour,
Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans ton exemple :
SELECT Works.eid FROM Works WHERE Worls.eid NOT IN (SELECT DISTINCT W2.eid FROM Works AS W2)
Après pour résoudre ton problème, je ne suis pas sur que cette requete remplisse son rôle, en revanche un employé affecté à plus d'un département aura plus d'une ligne dans ta table "Works", une piste : tu peux peut etre grouper par numéro d'employé, et faire un count sur le nombre de
département
par groupe.
Arnaud
j'ai fini par trouver: SELECT distinct e.name FROM emp AS E, works AS w1,works AS w2 WHERE w1.eid=e.eid AND w2.eid=e.eid AND w1.did<>w2.did. C'était trop simple pour être vu de suite....je suis vert....
Sinon, comme je ne veux pas lasser les gens de ce newsgroup avec mes questions à 2 balles : connais-tu des sites pour débutants, genre avec exemples commentés, ou tables avec exercices et corrigés.... Y a un déclic qui ne s'est toujours pas fait et je pense qu'il faut que je pratique plus pour avoir une connaissance effectivement utilisable. j'en ai trouvé qu'une série sur le Web (dans une des pages de M.Raghu Ramakrishnan du site de l'université du Wisconsin: www.wisc.edu) en anglais c'est jouable, mais ça complique un peu. Tu connais rien en français? Merci pour tout. bilbo
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de
news:OMLvjemlEHA.3452@TK2MSFTNGP15.phx.gbl...
Bonjour,
Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans ton
exemple :
SELECT Works.eid FROM Works
WHERE Worls.eid NOT IN
(SELECT DISTINCT W2.eid FROM Works AS W2)
Après pour résoudre ton problème, je ne suis pas sur que cette requete
remplisse son rôle, en revanche un employé affecté à plus d'un département
aura plus d'une ligne dans ta table "Works", une piste : tu peux peut etre
grouper par numéro d'employé, et faire un count sur le nombre de
département
par groupe.
Arnaud
j'ai fini par trouver:
SELECT distinct e.name
FROM emp AS E, works AS w1,works AS w2
WHERE w1.eid=e.eid AND w2.eid=e.eid AND w1.did<>w2.did.
C'était trop simple pour être vu de suite....je suis vert....
Sinon, comme je ne veux pas lasser les gens de ce newsgroup avec mes
questions à 2 balles : connais-tu des sites pour débutants, genre avec
exemples commentés, ou tables avec exercices et corrigés.... Y a un déclic
qui ne s'est toujours pas fait et je pense qu'il faut que je pratique plus
pour avoir une connaissance effectivement utilisable.
j'en ai trouvé qu'une série sur le Web (dans une des pages de M.Raghu
Ramakrishnan du site de l'université du Wisconsin: www.wisc.edu) en anglais
c'est jouable, mais ça complique un peu. Tu connais rien en français?
Merci pour tout.
bilbo
Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans ton exemple :
SELECT Works.eid FROM Works WHERE Worls.eid NOT IN (SELECT DISTINCT W2.eid FROM Works AS W2)
Après pour résoudre ton problème, je ne suis pas sur que cette requete remplisse son rôle, en revanche un employé affecté à plus d'un département aura plus d'une ligne dans ta table "Works", une piste : tu peux peut etre grouper par numéro d'employé, et faire un count sur le nombre de
département
par groupe.
Arnaud
j'ai fini par trouver: SELECT distinct e.name FROM emp AS E, works AS w1,works AS w2 WHERE w1.eid=e.eid AND w2.eid=e.eid AND w1.did<>w2.did. C'était trop simple pour être vu de suite....je suis vert....
Sinon, comme je ne veux pas lasser les gens de ce newsgroup avec mes questions à 2 balles : connais-tu des sites pour débutants, genre avec exemples commentés, ou tables avec exercices et corrigés.... Y a un déclic qui ne s'est toujours pas fait et je pense qu'il faut que je pratique plus pour avoir une connaissance effectivement utilisable. j'en ai trouvé qu'une série sur le Web (dans une des pages de M.Raghu Ramakrishnan du site de l'université du Wisconsin: www.wisc.edu) en anglais c'est jouable, mais ça complique un peu. Tu connais rien en français? Merci pour tout. bilbo
Gafish
Bonjour,
Tu peux aller sur ces sites en francais : http://sqlpro.developpez.com/indexSQL.html http://www.commentcamarche.net/sql/sqlintro.php3 Sinon si tu veux faire des DTS avec Sql server tu as ce site la (en anglais) : http://www.sqldts.com/
Arnaud
"bilbo" a écrit dans le message news: 4142caf4$0$7614$
"Gafish" a écrit dans le message de news: > Bonjour, > > Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans
ton
> exemple : > > SELECT Works.eid FROM Works > WHERE Worls.eid NOT IN > (SELECT DISTINCT W2.eid FROM Works AS W2) > > Après pour résoudre ton problème, je ne suis pas sur que cette requete > remplisse son rôle, en revanche un employé affecté à plus d'un
département
> aura plus d'une ligne dans ta table "Works", une piste : tu peux peut
etre
> grouper par numéro d'employé, et faire un count sur le nombre de département > par groupe. > > Arnaud > j'ai fini par trouver: SELECT distinct e.name FROM emp AS E, works AS w1,works AS w2 WHERE w1.eid=e.eid AND w2.eid=e.eid AND w1.did<>w2.did. C'était trop simple pour être vu de suite....je suis vert....
Sinon, comme je ne veux pas lasser les gens de ce newsgroup avec mes questions à 2 balles : connais-tu des sites pour débutants, genre avec exemples commentés, ou tables avec exercices et corrigés.... Y a un déclic qui ne s'est toujours pas fait et je pense qu'il faut que je pratique plus pour avoir une connaissance effectivement utilisable. j'en ai trouvé qu'une série sur le Web (dans une des pages de M.Raghu Ramakrishnan du site de l'université du Wisconsin: www.wisc.edu) en
anglais
c'est jouable, mais ça complique un peu. Tu connais rien en français? Merci pour tout. bilbo
Bonjour,
Tu peux aller sur ces sites en francais :
http://sqlpro.developpez.com/indexSQL.html
http://www.commentcamarche.net/sql/sqlintro.php3
Sinon si tu veux faire des DTS avec Sql server tu as ce site la (en anglais)
:
http://www.sqldts.com/
Arnaud
"bilbo" <5mapson@tiscali.fr> a écrit dans le message news:
4142caf4$0$7614$636a15ce@news.free.fr...
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de
news:OMLvjemlEHA.3452@TK2MSFTNGP15.phx.gbl...
> Bonjour,
>
> Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans
ton
> exemple :
>
> SELECT Works.eid FROM Works
> WHERE Worls.eid NOT IN
> (SELECT DISTINCT W2.eid FROM Works AS W2)
>
> Après pour résoudre ton problème, je ne suis pas sur que cette requete
> remplisse son rôle, en revanche un employé affecté à plus d'un
département
> aura plus d'une ligne dans ta table "Works", une piste : tu peux peut
etre
> grouper par numéro d'employé, et faire un count sur le nombre de
département
> par groupe.
>
> Arnaud
>
j'ai fini par trouver:
SELECT distinct e.name
FROM emp AS E, works AS w1,works AS w2
WHERE w1.eid=e.eid AND w2.eid=e.eid AND w1.did<>w2.did.
C'était trop simple pour être vu de suite....je suis vert....
Sinon, comme je ne veux pas lasser les gens de ce newsgroup avec mes
questions à 2 balles : connais-tu des sites pour débutants, genre avec
exemples commentés, ou tables avec exercices et corrigés.... Y a un déclic
qui ne s'est toujours pas fait et je pense qu'il faut que je pratique plus
pour avoir une connaissance effectivement utilisable.
j'en ai trouvé qu'une série sur le Web (dans une des pages de M.Raghu
Ramakrishnan du site de l'université du Wisconsin: www.wisc.edu) en
anglais
c'est jouable, mais ça complique un peu. Tu connais rien en français?
Merci pour tout.
bilbo
Tu peux aller sur ces sites en francais : http://sqlpro.developpez.com/indexSQL.html http://www.commentcamarche.net/sql/sqlintro.php3 Sinon si tu veux faire des DTS avec Sql server tu as ce site la (en anglais) : http://www.sqldts.com/
Arnaud
"bilbo" a écrit dans le message news: 4142caf4$0$7614$
"Gafish" a écrit dans le message de news: > Bonjour, > > Au niveau syntaxe, à la place du EXCEPT en sql il y a le NOT IN, dans
ton
> exemple : > > SELECT Works.eid FROM Works > WHERE Worls.eid NOT IN > (SELECT DISTINCT W2.eid FROM Works AS W2) > > Après pour résoudre ton problème, je ne suis pas sur que cette requete > remplisse son rôle, en revanche un employé affecté à plus d'un
département
> aura plus d'une ligne dans ta table "Works", une piste : tu peux peut
etre
> grouper par numéro d'employé, et faire un count sur le nombre de département > par groupe. > > Arnaud > j'ai fini par trouver: SELECT distinct e.name FROM emp AS E, works AS w1,works AS w2 WHERE w1.eid=e.eid AND w2.eid=e.eid AND w1.did<>w2.did. C'était trop simple pour être vu de suite....je suis vert....
Sinon, comme je ne veux pas lasser les gens de ce newsgroup avec mes questions à 2 balles : connais-tu des sites pour débutants, genre avec exemples commentés, ou tables avec exercices et corrigés.... Y a un déclic qui ne s'est toujours pas fait et je pense qu'il faut que je pratique plus pour avoir une connaissance effectivement utilisable. j'en ai trouvé qu'une série sur le Web (dans une des pages de M.Raghu Ramakrishnan du site de l'université du Wisconsin: www.wisc.edu) en
anglais
c'est jouable, mais ça complique un peu. Tu connais rien en français? Merci pour tout. bilbo