Requette sql

cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007 - 13 déc. 2006 à 15:21
cs_mickey35 Messages postés 3 Date d'inscription lundi 8 janvier 2007 Statut Membre Dernière intervention 9 janvier 2007 - 9 janv. 2007 à 11:34
comment faire pour extraire en SQL tous les champ d une table mais distinct sur champ1et champs2
merci pour votre aide

21 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 déc. 2006 à 15:27
Salut,
Essai peu etre
SELECT * FROM NomTable WHERE Champ1 <> Champ2

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
13 déc. 2006 à 15:30
non le ch1 est deja <> de ch2
merci
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 déc. 2006 à 15:36
Re,
Alors je pense que tu devrais mieux expliquer la requête car je ne comprends pas ce que tu souhaites.
Un exemple peu etre

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
13 déc. 2006 à 15:42
j ai une table dans la quelle j ai des doublon, mais ne constate les douclon selement sur ch1 et ch2, et je veux toute la table sans les doublon.
Exp : 1enregistrement ; ch1=12,ch2=ppp1, ch3= okko...
          2enregistrement ; ch1=12,ch2=ppp1,ch3=lkpkpk...
1 et 2 sont des doublon en faite, comment extraire seulement un des deux en sql
merci
0

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

Posez votre question
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
13 déc. 2006 à 15:49
Je n'ai pas bien compris ce que tu voulais. Tu ne veux extraire que les champs qui sont en double ?
Essaie tout simplement un distinct

Salut [auteurdetail.aspx?ID=89254 jrivet]!
         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
13 déc. 2006 à 15:51
Et si ce que tu veux c'est lister les deux tables sans doublons, quand tu liste ta 2eme table, tu verifie que le champ n'est egal a aucun champ de la premiere. C'est long , mais on a rien sans rien

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
13 déc. 2006 à 15:57
[auteurdetail.aspx?ID= 505618 salut tof008]






[auteurdetail.aspx?ID=708468 taikibaybay]


Regarde du coté de la clause DISTINCT alors
@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
13 déc. 2006 à 16:57
ma requette
SELECT DISTINCT [TABDLE GENERAL WEB  ET CEGID].CODEPROEXTERNE, [TABDLE GENERAL WEB  ET CEGID].IDFLUXIMPORT, [TABDLE GENERAL WEB  ET CEGID].*
FROM [TABDLE GENERAL WEB  ET CEGID]

il faut que le distinct n affect que [TABDLE GENERAL WEB  ET CEGID].CODEPROEXTERNE et  [TABDLE GENERAL WEB  ET CEGID].IDFLUXIMPORT seulement
le distinct de ma requette affect tous les champs, et ce n est pas ce que je veux
merci
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 déc. 2006 à 19:24
Bonsoir,
Fais une requête regroupement...
0
Liberty68 Messages postés 7 Date d'inscription vendredi 27 janvier 2006 Statut Membre Dernière intervention 16 décembre 2006
14 déc. 2006 à 20:09
Bonjour à tous,

J'ai pas tout compris mais pour éviter les doublons moi j'utilise Group By, peut être ceci fonctionne pour ton cas :

SELECT TABDLE GENERAL WEB  ET CEGID.[CODEPROEXTERNE], TABDLE GENERAL WEB  ET CEGID.[IDFLUXIMPORT], TABDLE GENERAL WEB  ET CEGID.*
FROM TABDLE GENERAL WEB  ET CEGID
GROUP BY TABDLE GENERAL WEB  ET CEGID.[CODEPROEXTERNE]
GROUP BY TABDLE GENERAL WEB  ET CEGID.[IDFLUXIMPORT];

Slts.
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
14 déc. 2006 à 23:14
salut
je ne savais pas que je pouvais utiliser de fois le group by, cette requette m envoie une erreure pour le 2 eme group by, je suis sous access

merci pour ton info
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
14 déc. 2006 à 23:21
Bonsoir,

Synthaxe exacte :

"SELECT TaTable.Chp1, TaTable.Chp2 FROM TaTable
GROUP BY TaTable.Chp1, TaTable.Chp2;"
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
14 déc. 2006 à 23:40
salut
non ca ne marche pas parce que je veux tout les champ de la table

"SELECT TaTable.Chp1, TaTable.Chp2, TaTable.*  FROM TaTable
GROUP BY TaTable.Chp1, TaTable.Chp2;"
 merci
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
14 déc. 2006 à 23:40
salut
non ca ne marche pas parce que je veux tout les champ de la table

"SELECT TaTable.Chp1, TaTable.Chp2, TaTable.*  FROM TaTable
GROUP BY TaTable.Chp1, TaTable.Chp2;"
 merci
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
14 déc. 2006 à 23:46
rajoutes en !
"SELECT TaTable.Chp1, TaTable.Chp2, TaTable.*  FROM TaTable " _
& "GROUP BY TaTable.Chp1, TaTable.Chp2, TaTable.Chp3, TaTable.Chp4 " _
& ", TaTable.Chp5,...............;"
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
14 déc. 2006 à 23:49
rajoutes les aussi dans la partie SELECT
0
cs_taikibaybay Messages postés 46 Date d'inscription mercredi 1 mars 2006 Statut Membre Dernière intervention 25 décembre 2007
15 déc. 2006 à 00:02
si je fais un regroupement sur tout les champs, je vais avoir  aussi les doublon.
en faites c la combinaison ch1 et ch2 qui me determine mes doublons:
ex :
    Eng 1 :  ch1 = toto, ch2=tata,ch3=popo,ch4=lolo
    Eng 2 :  ch1=toto,  ch2=yaya, ch3=lklk, ch4=koko
    Emg 3 : ch1=toto, ch2=tata,ch3=mama,ch4=haha

les deux enregistrements qui sont en doublon dans cette exemple sont Eng1 et Eng3
parce que Eng1.ch1=Eng3.ch1 ET Eng1.ch2=Eng3.ch2
le resulta de ma requette doit etre seulement
        Eng 1 :  ch1 = toto, ch2=tata,ch3=popo,ch4=lolo

    Eng 2 :  ch1=toto,  ch2=yaya, ch3=lklk, ch4=koko
 OU  OU
   

    Eng 2 :  ch1=toto,  ch2=yaya, ch3=lklk, ch4=koko

    Emg 3 : ch1=toto, ch2=tata,ch3=mama,ch4=haha
 tu voie mieux maintenant je ponse
merci
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
15 déc. 2006 à 00:23
Dans ce cas tu ne fais le regroupement que pour les champs
que tu éstimes en double.Pour les autres c' est la Première ligne que
tu prend (First).
Et ne mélange pas l' énumération avec le ALL (*=Tout)
Dans mon exemple il n' y a pas de , TaTable * FORM.
Tu vois ce que je veux dire ?


Testes ceci pour voir :


"SELECT TaTable.Chp1, TaTable.Chp2, First( TaTable.Chp3), " _
& " First( TaTable.Chp4) FROM TaTable
GROUP BY TaTable.Chp1, TaTable.Chp2;"
0
cs_mickey35 Messages postés 3 Date d'inscription lundi 8 janvier 2007 Statut Membre Dernière intervention 9 janvier 2007
9 janv. 2007 à 11:30
Bonjour,

fais une requète imbriquée du style et en union
SELECT  T.*
FROM TABDLE GENERAL WEB  ET CEGID T
WHERE T.CODEPROEXTERNE in 
    ( SELECT DISTINCT T.CODEPROEXTERNE FROM [TABDLE GENERAL WEB  ET CEGID]  T )

UNION

SELECT  T.*
FROM TABDLE GENERAL WEB  ET CEGID T
WHERE T.IDFLUXIMPORT in 
    ( SELECT DISTINCT T.IDFLUXIMPORT FROM [TABDLE GENERAL WEB  ET CEGID]  T )

PS : j'ai mis un alias sur ta table pour ne pas allonger le code.

@+

Mickey35
0
cs_mickey35 Messages postés 3 Date d'inscription lundi 8 janvier 2007 Statut Membre Dernière intervention 9 janvier 2007
9 janv. 2007 à 11:34
En fait, j'avais pas tout lu dans les autres messages. suite à ton exemple, fais une conaténation de ton champ1 & 2 , et fais un select sur le distinct du resultat.
cela doit donner qque chose du style
:
SELECT  T.*
FROM TABDLE GENERAL WEB  ET CEGID T
WHERE T.CODEPROEXTERNE||T.IDFLUXIMPORT in 
    ( SELECT DISTINCT T.CODEPROEXTERNE||T.IDFLUXIMPORT FROM [TABDLE GENERAL WEB  ET CEGID]  T )

Attention , les requètes imbriquées, cela rallonge ton temps de r'éxécution de requète.

Mickey35
0
Rejoignez-nous