OVH Cloud OVH Cloud

requete

5 réponses
Avatar
Etudiant
bonjour,
j'ai 2 tables BR et LigneBR,

BR: Id, Designation
LigneBR : #IdBR, NumLigne, Valider (oui/non)

comment puis je faire pour selectionner les br qui ont leurs lignes non
valider. De plus je souhaite que s'il reste une ligne non valider pour
un BR je suohaite qu'il apparaisse dans la liste.

merci

5 réponses

Avatar
Etudiant
je me suis mal expliqué, en fait je souhaite selectionner les BR qui ont
au moins une ligneBR non validée.
merci
Avatar
Synopsis
SELECT *
FROM br u
JOIN Ligne Br v on ( u.id = v.IdBr )
WHERE u.Id in ( SELECT idBr FROM Br WHERE Valider=Non )



"Etudiant" a écrit dans le message de
news:%
bonjour,
j'ai 2 tables BR et LigneBR,

BR: Id, Designation
LigneBR : #IdBR, NumLigne, Valider (oui/non)

comment puis je faire pour selectionner les br qui ont leurs lignes non
valider. De plus je souhaite que s'il reste une ligne non valider pour
un BR je suohaite qu'il apparaisse dans la liste.

merci


Avatar
Synopsis
Je corrige :

SELECT *
FROM br u
JOIN LigneBr v on ( u.id = v.IdBr )
WHERE u.Id in ( SELECT idBr FROM LigneBr WHERE Valider=Non )

"Synopsis" a écrit dans le message de
news:423feb1e$0$11678$
SELECT *
FROM br u
JOIN Ligne Br v on ( u.id = v.IdBr )
WHERE u.Id in ( SELECT idBr FROM Br WHERE Valider=Non )



"Etudiant" a écrit dans le message de
news:%
> bonjour,
> j'ai 2 tables BR et LigneBR,
>
> BR: Id, Designation
> LigneBR : #IdBR, NumLigne, Valider (oui/non)
>
> comment puis je faire pour selectionner les br qui ont leurs lignes non
> valider. De plus je souhaite que s'il reste une ligne non valider pour
> un BR je suohaite qu'il apparaisse dans la liste.
>
> merci




Avatar
Laurent MOREAU
La solution de Synopsis va te renvoyer des doublons s'il existe plusieurs
lignes non validées, il faut donc ajouter un DISTINCT a sa solution, ou
alors, j'aurais une préférence pour utiliser l'opérateur EXISTS:

SELECT *
FROM Br
WHERE EXISTS
(
SELECT * FROM Ligne
WHERE Valider='Non'
AND Br.Id=Ligne.IdBr
)

Laurent.



"Etudiant" wrote in message
news:
je me suis mal expliqué, en fait je souhaite selectionner les BR qui ont
au moins une ligneBR non validée.
merci


Avatar
bruno reiter [MVP]
select b.id
from br b
join lignebr l
on b.id = l.#idbr
where valider = 'non'
group by b.id


br

"Etudiant" wrote in message
news:#
bonjour,
j'ai 2 tables BR et LigneBR,

BR: Id, Designation
LigneBR : #IdBR, NumLigne, Valider (oui/non)

comment puis je faire pour selectionner les br qui ont leurs lignes non
valider. De plus je souhaite que s'il reste une ligne non valider pour
un BR je suohaite qu'il apparaisse dans la liste.

merci