Je rejoins deux tables « tblQuestion » et « tblSubskill », j'ai besoin SubSkillName distinctes dans le résultat comme indiqué dans la requêteSQL Distinct ne fonctionne pas dans jointure interne
SELECT DISTINCT ss.SubSkillName , ss.SkillId , ss.Id As SubSkillId
FROM dbo.tblQuestion AS q INNER JOIN
dbo.tblSubSkill AS ss ON q.SubSkillId = ss.Id
qui fonctionne bien jusqu'à ce que j'ajouter une colonne de tblQuestion et retourne
maintenant je veux ajouter une colonne de tblQuestion, si bien que la requête est le suivant
SELECT DISTINCT ss.SubSkillName , ss.SkillId , ss.Id As SubSkillId , q.EadLevel
FROM dbo.tblQuestion AS q INNER JOIN
dbo.tblSubSkill AS ss ON q.SubSkillId = ss.Id
mais ce qu'il retourne ont pas SubSkillName distinctes comme ci-dessous
Eh bien le 'EadLevel' pour les deux lignes est différent donc il y a 2 lignes distinctes donc vous obtenez 2 lignes. Si vous ne voulez qu'une ligne, vous devez décider quel 'EadLevel' vous voulez et exprimer cette condition dans votre requête. –
Distinct fonctionne comme aspecté, EadLevel est différent pour deux enregistrements .... Vous pouvez utiliser la clause ** Group By ** à la place de Distinct ... –
'DISTINCT' ne conserve que des enregistrements ** distincts **. Donc, votre deuxième capture d'écran montre que votre requête fonctionne correctement. Que voudriez-vous voir en conséquence si ce n'est pas ça? – user2877959