2010-10-13 18 views
0

J'ai une base de données (SQL Server 2005 Express) table avec des colonnes PatientID (plus de 1 enregistrements peuvent avoir le même ID du patient) et TestNo. Je veux récupérer le maximum de la colonne testNo parmi tous les enregistrements avec le même PatientID.What devrait être l'instruction SQL pour le faire? J'utilise le pointeur RecordSet pour accéder aux enregistrements dans une application vC++.Comment puis-je récupérer des données de la table SQL Server qui a deux colonnes dire PatientID et TestNo, Differnt TestNo peut avoir le même ID patient

+0

Je veux dire dire récupérer le maximum de testno sous le même ID patient dans le tableau. Quelle sera la déclaration SQL à réaliser ce, – FerozKhan

Répondre

0

Utilisez ce SQL:

SELECT MAX(TestNo), PatientID 
FROM dbo.YourTable 
GROUP BY PatientID 
+0

Merci pour votre réponse rapide .... Je vais l'essayer et de revenir à vous – FerozKhan

0

La requête suivante devrait faire votre travail:

Select max(TestNo) as TestNo, PatientId from TableName group by PatientId 

Cela vous ramènera au maximum de l'essai non pour chacun des patients. Vous pouvez ajouter où condition si vous devez prendre pour un patient particulier.

+0

Si je veux passer un patient spécifique, dites BPL000019 quels changements dois-je faire – FerozKhan

+0

Je voudrais pour récupérer un seul enregistrement de la table qui a le testNo maximum pour un PatientID donné. J'utilise le pointeur ADO recordSet pour aller chercher l'enregistrement, j'ai donc besoin de l'instruction SQL correcte pour pouvoir la passer à la fonction PrecordSet-> Execute. Aider aimablement – FerozKhan

+0

Que voulez-vous dire par testNo maximum? Est-ce le nombre maximum de test [max (count (tesNo))] ou le maximum de la valeur dans testNo [max (testNo)]? – Kangkan