À l'aide de Cas avec de multiples lorsque dans Teradata

Supposons que j'ai un tableau de données avec les champs suivants:

De la CLIENTÈLE: de A ou B

JOUR: soit le lundi ou le mardi

PAYÉ: soit Y ou N

Le nombre total de lignes de quatre, disons que la table de données est ceci:

CUSTOMER   DAY     PAID
A        Monday     Y
A        Tuesday    N
B        Monday     Y
B        Tuesday    N

Comment puis-je créer une requête SQL sur Teradata SQL Assistant, qui montrera le nombre de personnes qui Y ont été, lundi, et N le mardi? (ou de l'une de ces combinaisons) j'ai essayé d'utiliser la requête ci-dessous, mais n'arrive pas à comprendre la logique. Votre aide est très appréciée!

SELECT DAY, 

COUNT(CASE PAID WHEN 'Y' THEN CUSTOMER ELSE 0 END) AS PAID_CUSTOMERS,

COUNT(CASE WHEN PAID = 'Y' AND DAY = 'Monday' AND DAY = 'Tuesday' AND PAID = 'N' THEN CUSTOMER ELSE 0 END)  AS CUSTOMERS_YM_NT

FROM T1

GROUP BY 1

ORDER BY 1
  • Merci pour la fabrication de la table de requête et de l'esthétique. Ne savais pas comment le faire.
  • Woulld vous vous attendez à AND DAY = 'Monday' AND DAY = 'Tuesday' jamais être vrai? Vous avez besoin d'un autre cas de déclaration pour mardi, alors vous pouvez comparer les deux.
  • Pouvez-vous montrer ce que le résultat de votre requête serait, selon vos quatre ligne de la table?
  • Désolé pour la confusion, je suis un novice quand il s'agit de la programmation. @Andrew, je voudrais savoir le nombre de clients qui sont X, le lundi et Y, mardi, avec X et Y étant rien. Par exemple, je veux savoir combien de clients versés sur les deux jours. (Y pour les lundi et mardi) Ou, j'aimerais savoir combien de clients payés sur ni le jour. (N pour les lundi et mardi) Ou quelque chose entre les deux. (Payé uniquement le lundi, Payé uniquement le mardi, etc) est La clé, je veux savoir le nombre de cas où les deux paramètres (lundi et mardi) sont spécifiées comme quelque chose.
  • le résultat pourrait ressembler à ceci: Le résultat le tableau a deux colonnes, le Scénario et le Nombre. Scénario = Versés sur les deux jours, Nombre = 0. Scénario = Payés sur ni le jour, Nombre = 0. Scénario = Payés uniquement le lundi, Nombre = 2. Scénario = Payés uniquement le mardi, Nombre = 0. Il serait de 4 lignes et 2 colonnes (à l'exclusion des en-têtes)
InformationsquelleAutor RJC | 2015-06-30