0
votes

Comment trouver des valeurs qui apparaissent plus de deux fois par jour dans un syndicat tout sélectionné dans db2

Je dois vérifier le numéro de compte qui est venu dans plus de 2 fois en une journée.

ci-dessous est ma requête, je reçois les résultats dans lesquels le numéro de compte est venu plus de 2 seulement de l'échec non de SUCCÈS. J'ai besoin d'obtenir des deux. Toute aide est appréciée. P>

Données d'échantillon: P>

04/28/2020 123345 BERLIN 5645756768 SUCCESS
04/28/2020 123346 BERLIN 5645756768 FAILURE
04/28/2020 123344 BERLIN 5645756768 SUCCESS


4 commentaires

Nous n'avons aucune idée de vos données de table. Il vaut mieux simplifier la question. Imaginez que vous avez une seule table contenant toutes les colonnes nécessaires. Veuillez fournir des échantillons de données pour ce tableau et le résultat souhaité.


Merci pour votre réponse, j'ai mis à jour la question avec des données d'exemple.


Votre description contradictente avec des échantillons de données fournies et le résultat de celui-ci. Il n'y a que 2 lignes (pas plus que 2 lignes que vous avez mentionnées) avec compte 5645756768 à date 04/28/2020 , mais ces enregistrements sont dans la sortie. Pourquoi vérifiez-vous les statuts de ces lignes? Doit-il être différent d'être dans la sortie? Et si vous aviez X enregistrement du même compte à la même date avec un seul statut? Trop de questions...


Désolé pour la confusion, j'ai mis à jour la sortie. Quel que soit le statut dont nous avons besoin de tirer la transaction qui est venu dans plus de deux fois par jour avec le même numéro de compte.


3 Réponses :


0
votes

Ce serait beaucoup plus simple d'éliminer l'Union et d'utiliser simplement la clause dans votre lieu de travail.

où statut dans ("succès", "échoué")


1 commentaires

Nous pouvons faire cela, pour une meilleure compréhension, j'ai mis la requête simple ici. L'exigence est un peu différente, il y a un couple plus syndical tout cela.



0
votes

Une solution facile - pour votre requête complexe MOE que vous avez décrite - pourrait être de séparer les colonnes CNT. Utilisez un CNT_SUCCESSE dans le premier avec 0 en tant que CNT_FAILURE dans la première partie et le vice-cersa dans la seconde.

Pour que vous puissiez filtrer dans la requête principale / externe sur P>

cnt_success >=1
and cnt_failure >=1


0 commentaires

0
votes

Je n'ai aucune idée de la raison pour laquelle vous avez besoin de Union tout code> ici, mais en présumons, que vous avez des contrôles plus complexes avec votre cas réel.

|DATE      |ID         |NAME  |ACCOUNT   |STATUS |
|----------|-----------|------|----------|-------|
|04/28/2020|123345     |BERLIN|5645756768|SUCCESS|
|04/28/2020|123344     |BERLIN|5645756768|SUCCESS|
|04/28/2020|123346     |BERLIN|5645756768|FAILURE|


7 commentaires

Merci Mark, mais je dois vérifier les statuts qu'ils sont nombreux statuts différents à l'exception du succès et de l'échec et nous avons également besoin des syndicats tous. Alors pouvez-vous m'aider avec l'union tout ici


Je ne comprends pas pourquoi vous faites ces union tout . Vous pouvez les mettre au lieu de à partir de l'onglet : de (Sélectionnez ... où ... l'Union Tout sélectionnez ... Où ...) . Utilisez vos chèques à l'intérieur.


Je n'ai pas eu ce que tu disais,


Il est temps de fournir plus de détails sur vos échantillons de données alors. Montrez un exemple de chèques que vous devez faire.


J'ai mis à jour les échantillons de données avec peu de statuts, le premier SELECT doit sélectionner les transactions de réussite et et, deuxièmement, sélectionnez la transaction de défaillance, car nous utilisons le syndicat tout car l'outil de rapport peut choisir la requête de réussite et d'échec.


J'ai mis à jour la réponse, mais ce n'est pas clair encore, pourquoi vous avez besoin de Union tout ici.


Merci beaucoup de marque, c'est exactement ce que je m'attendais. J'apprécie ton aide.