comment éviter les doublons sur la jointure de deux tables

Student Table

 SID    Name
 1      A
 2      B
 3      C

 Marks Table

 id mark    subject 
 1  50  physics
 2  40  biology
 1  50  chemistry
 3  30  mathematics



SELECT distinct(std.id),std.name,m.mark, row_number() over() as rownum FROM 

student std JOIN marks m ON std.id=m.id AND m.mark=50

Ce résultat est 2 fois Une même après l'utilisation de disticnt . Mon résultat attendu n'aura qu'un seul A. si je supprime la fonction row_number() over() rownum son travail très bien. Pourquoi ce qui se passe ? comment résoudre. SUIS de l'utilisation de DB2!!

Quel est le point de rejoindre Étudiants et les Marques si vous ne voulez pas de repères, à la fois physique et de la chimie?
je veux juste l'étudiant qui a obtenu 50 dans atleast un sujet

OriginalL'auteur zod | 2011-11-11