J'ai un jeu de données où j'ai besoin de trouver les patients malades dans des rangées consécutives.
Je vais partager mon exemple de jeu de données avec une explication claire. p> Ici, j'ai spécifié la liste malade de l'ensemble de données. J'ai besoin des identifiants pour ceux qui sont dans la même maladie de toutes les règles.
Supposons que j'ai besoin d'une production pour les patients qui ne tombent jamais dans aucun critère malade (IDS 18, 22), je l'ai enregistré en tant que nouvel ensemble (non défini), plus tard, je dois obtenir le même modèle pour les patients de la DÉ1 (IDS 11). J'ai essayé le code ci-dessous pour aller chercher les données. Mais il renvoie une sortie partielle. p>
3 Réponses :
Vous pouvez essayer la requête ci-dessous en utilisant comptage (transact-sql) fonction.
Select Id
/*
, Count(distinct Des1) as TotDes1
, Count(distinct Des2) as TotDes2
, Count(distinct Des3) as TotDes3
*/
from MySampleTable
group by Id
having Count(distinct Des1) = 1 and Count(distinct Des2) = 1
and Count(distinct Des3) = 1
Vous pouvez vérifier Ma réponse avec une approche plus simple.
Merci tous tout votre soutien. Je pense que j'ai partagé un exemple de base, mais cela ne fonctionne pas avec mes données, je partagerai mon code ici. Veuillez suggérer certaines idées 2 résolvez-la. select patient_id de tablename où (normal = '1' & haut risque = '0' & ulcérée = '0' & cellulitique = '0' & nécrotique = '0' & Amputation = '0') groupe par patient_id Code> Ce code renvoie la condition spécifiée pour les identifiants et masque les autres lignes qui ne remplissaient pas la condition comme normal = '0' & highrisk = '1' & ulcéré = '0' & Celluliti '0' & amputation = '0' code> Comment puis-je obtenir le tout le groupe par ID est dans le même modèle
@SathishJay Vous devez éditer la question actuelle et ajouter les nouveaux échantillons de données, la sortie attendue et la logique de la sortie. Ce sera mieux si vous poserez une autre question et fournirez le lien de référence de cette question. Impossible de comprendre la logique maintenant comme vous avez donné dans le commentaire.
Vous pouvez y parvenir dans ce simple manière p>
12 n'est pas dans la sortie attendue, veuillez lire à nouveau le post OP.
@Suraj Kumar Avez-vous vérifié ma réponse avec le plus récent comme la démo?
Oui j'ai vérifié.
Est-ce que cela répond à votre question? Faites-moi savoir si vous avez besoin d'aide @Sathish Jay
Vous pouvez utiliser Utiliser Appliquer CODE>: select t.id
from table t cross apply
( values (Des1, 'Des1'), (Des2, 'Des2'), (Des3, 'Des3'), (Des4, 'Des4')
) tt(DiseasFlag, DiseasName)
where DiseasFlag = 1
group by t.id
having count(distinct DiseasName) = 1;