Comme le dit le titre, j'utilise SQL Server 2008. Toutes mes excuses si cette question est très basique. Je n'utilise SQL que depuis quelques jours. En ce moment, je la requête suivante:SQL Server 2008: TOP 10 et distincts ensemble
SELECT TOP 10 p.id, pl.nm, pl.val, pl.txt_val
from dm.labs pl
join mas_data.patients p
on pl.id = p.id
where pl.nm like '%LDL%'
and val is not null
Ce que je veux faire est d'utiliser select top n avec des valeurs distinctes dans la colonne id. Une recherche dans certains forums dit utiliser
SELECT DISTINCT TOP 10 ...
mais quand je remplace la première ligne avec
SELECT DISTINCT TOP 10 p.id, pl.nm, pl.val, pl.txt_val
-je obtenir les mêmes résultats que sans le mot distinct. Que devrais-je faire pour ne filtrer que les entrées d'ID en double?
Merci.
Je pense que vous devez énoncer votre question plus explicitement. Si vous avez trois lignes avec p.id = 1, alors quelle ligne voulez-vous? Celui avec le plus haut ou le plus bas pl.nm, pl.val, pl.txt_val, une combinaison, ou quelque chose d'autre entièrement? SQL ne peut pas appliquer DISTINCT() de cette façon, mais il existe des moyens d'obtenir une ligne par p.id. Vous avez juste besoin de définir les exigences, et nous pouvons vous aider ... –
Est-ce que les patients.ID est une clé primaire? – dan