SQL 2 colonnes qui ont la même condition
Résolu/Fermé
A voir également:
- SQL 2 colonnes qui ont la même condition
- Excel cellule couleur si condition texte - Guide
- Fusionner 2 colonnes excel - Guide
- 2 comptes whatsapp - Guide
- Word 2 colonnes - Guide
- 2 ecran pc - Guide
13 réponses
Et aussi quelques exemples d'enregistrements de tes tables ? C'est pas très clair tes noms de champs
Le résultat que je cherche c'est ça :
Noimme Nomimme MoisArrete Nomges Nomcompta
7005 XXX 3 BRICHET CHAPRON
7007 YYY 3 BRICHET CHAPRON
0015 ZZZ 3 DESMAISONS KAMLI
Avec la première requête ça me donne ça :
Noimme Nomimme MoisArrete Nomper
7005 XXX 3 BRICHET
7007 YYY 3 BRICHET
7005 XXX 3 CHAPRON
7007 YYY 3 CHAPRON
0015 ZZZ 3 DESMAISONS
0015 ZZZ 3 KAMLI
Avec la deuxième ça donne ça :
Noimme Nomimme MoisArrete IF(Noresp=p.Noperso,Nomper,0) IF(NoCompta=p.Noperso,Nomper,0)
7005 XXX 3 BRICHET 0
7007 YYY 3 BRICHET 0
7005 XXX 3 0 CHAPRON
7007 YYY 3 0 CHAPRON
0015 ZZZ 3 DESMAISONS 0
0015 ZZZ 3 0 KAMLI
Noimme Nomimme MoisArrete Nomges Nomcompta
7005 XXX 3 BRICHET CHAPRON
7007 YYY 3 BRICHET CHAPRON
0015 ZZZ 3 DESMAISONS KAMLI
Avec la première requête ça me donne ça :
Noimme Nomimme MoisArrete Nomper
7005 XXX 3 BRICHET
7007 YYY 3 BRICHET
7005 XXX 3 CHAPRON
7007 YYY 3 CHAPRON
0015 ZZZ 3 DESMAISONS
0015 ZZZ 3 KAMLI
Avec la deuxième ça donne ça :
Noimme Nomimme MoisArrete IF(Noresp=p.Noperso,Nomper,0) IF(NoCompta=p.Noperso,Nomper,0)
7005 XXX 3 BRICHET 0
7007 YYY 3 BRICHET 0
7005 XXX 3 0 CHAPRON
7007 YYY 3 0 CHAPRON
0015 ZZZ 3 DESMAISONS 0
0015 ZZZ 3 0 KAMLI
Bon déjà tu veux 5 champs et t'en demandes que 4 dans ton select.
Il faut grouper par immeuble je pense. Essayes :
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, Nomper, NoCompta
FROM sql_sgti.immeuble i,sql_sgti.personnalite p
where Nomimme not like '%*%' and (Noresp=p.Noperso or NoCompta=p.Noperso)
group by Noimme;
order by MoisArrete,Nomper,Noimme
Il faut grouper par immeuble je pense. Essayes :
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, Nomper, NoCompta
FROM sql_sgti.immeuble i,sql_sgti.personnalite p
where Nomimme not like '%*%' and (Noresp=p.Noperso or NoCompta=p.Noperso)
group by Noimme;
order by MoisArrete,Nomper,Noimme
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait c'est ce que je recherche pour les 4 premières colonnes sauf que pour la 5ème, au lieu des numéros compta, je veux le nom des comptables.
Ce nom est dans la même colonne et la même table que le nom des responsable. Le numéro des perso de la table personnalité peut etre soit un numéro de resp.soit un numéro de compta.
Est-ce possible d'effectuer cette requete??
Merci d'avance,
Julien
Ce nom est dans la même colonne et la même table que le nom des responsable. Le numéro des perso de la table personnalité peut etre soit un numéro de resp.soit un numéro de compta.
Est-ce possible d'effectuer cette requete??
Merci d'avance,
Julien
Où sont tes NoCompta et tes Noresp ? Si tu peux, donne moi quelques enregistrements de chaque table car là je comprend pas trop la structure de ta base.
Il m'embète un peu ton problème c'est pas évident...
Essaye une requête imbriquée avec en select un truc du genre :
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, Nomper as resp, Nomper as compta
tu devrai pouvoir ensuite restreindre resp et compta à ce que tu veux
et il faut que tu laisses le group by
Sinon tu peux toujours changer la structure de ta base pour te simplifier la vie... ^^
Il m'embète un peu ton problème c'est pas évident...
Essaye une requête imbriquée avec en select un truc du genre :
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, Nomper as resp, Nomper as compta
tu devrai pouvoir ensuite restreindre resp et compta à ce que tu veux
et il faut que tu laisses le group by
Sinon tu peux toujours changer la structure de ta base pour te simplifier la vie... ^^
En fait mes Nocompta et Noresp je ne veux plus les voir apparaitre car ce sont des numéros et moi je veux le nom qui correspondent à ces numéros, sachant qu'un immeuble possède un responsable et un comptable.
Je ne vois pas ce que tu veux me dire avec ta requete? Et je ne sais pas non plus comment faire pour simplifier la table? As tu des idées?
En tout cas je te remercie déjà de t'interesser à mon problème et de me proposer des solutions...
Je ne vois pas ce que tu veux me dire avec ta requete? Et je ne sais pas non plus comment faire pour simplifier la table? As tu des idées?
En tout cas je te remercie déjà de t'interesser à mon problème et de me proposer des solutions...
C'est bon j'ai trouvé en fait.
J'ai renommé la table personnalité de 2 façon différente, ce qui m'a permis de faire 2 fois la même condition mais sql le voit de façon différente.
Merci pour tout, c'est grâce à toi que j'ai trouvé, tu m'as bien aiguillé...
J'ai renommé la table personnalité de 2 façon différente, ce qui m'a permis de faire 2 fois la même condition mais sql le voit de façon différente.
Merci pour tout, c'est grâce à toi que j'ai trouvé, tu m'as bien aiguillé...
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
23 juil. 2009 à 10:13
23 juil. 2009 à 10:13
Bonjour
En joignant 2 fois la table, ça doit faire un truc comme ça :
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, resp.Nomper, com.Nomper
FROM sql_sgti.immeuble i, sql_sgti.personnalite comp, sql_sgti.personnalite resp
Where Noresp=resp.Noperso
and NoCompta=comp.Noperso
and Nomimme not like '%*%'
group by Noimme
order by MoisArrete,Nomper,Noimme
bonne journée
En joignant 2 fois la table, ça doit faire un truc comme ça :
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, resp.Nomper, com.Nomper
FROM sql_sgti.immeuble i, sql_sgti.personnalite comp, sql_sgti.personnalite resp
Where Noresp=resp.Noperso
and NoCompta=comp.Noperso
and Nomimme not like '%*%'
group by Noimme
order by MoisArrete,Nomper,Noimme
bonne journée
Excellent bravo ! Tu as laissé le group by ou il est plus utile ?
Je veux bien voir ta requête finale du coup ^^
Je veux bien voir ta requête finale du coup ^^
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
23 juil. 2009 à 10:16
23 juil. 2009 à 10:16
Re,
Autant pour moi, j'ai fait ça "à la volée", le group by n'est plus utile.....
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, resp.Nomper, com.Nomper
FROM sql_sgti.immeuble i, sql_sgti.personnalite comp, sql_sgti.personnalite resp
Where Noresp=resp.Noperso
and NoCompta=comp.Noperso
and Nomimme not like '%*%'
order by MoisArrete,Nomper,Noimme
Autant pour moi, j'ai fait ça "à la volée", le group by n'est plus utile.....
SELECT Noimme,Nomimme,MONTH(i.Datfinex) as MoisArrete, resp.Nomper, com.Nomper
FROM sql_sgti.immeuble i, sql_sgti.personnalite comp, sql_sgti.personnalite resp
Where Noresp=resp.Noperso
and NoCompta=comp.Noperso
and Nomimme not like '%*%'
order by MoisArrete,Nomper,Noimme