Je me demandais s'il était possible de déterminer à partir de quelle colonne une valeur de coalescence est tirée?Recherche de la première valeur de recherche sur les colonnes et récupération des détails de la colonne.
je les données d'exemple suivantes (années réelles vont 1989-2010 en données non représenté par souci de concision)
ID | 2000 | 2000 value | 2001 |2001 value | 2002 |2002 value | 2003 |2003 value | 2004 | 2004 value | 2005 | 2005 value
id001 | single | 15.46 |regular|50 | NULL | 0 |single | 152 | regular|15.20 |single| 15.99
id002 | regular | 20.46 |regular|17.99 |single | 150.23 |both | 256.3 | NULL | 0 | NULL | 0
Où seul/régulier/les deux reflètent comment cet ID payé pour quelque chose dans cette année (et NULL ne représente aucun achat). Ce que j'aimerais idéalement avoir, c'est que trois colonnes par année pour les années 2005-2010 indiquent le type de paiement unique le plus récent avant cette année (et l'année où il tombe), ainsi qu'une colonne pour les paiements réguliers. et les deux types de paiement
pour l'exemple ci-dessus les résultats ressembleraient:
ID | 2005 prior single year | 2005 prior regular year | 2005 prior both year
id001 | 2003 | 2004 | NULL
id002 | 2002 | 2001 | 2003
Je voudrais aussi pouvoir tirer les valeurs respectives ainsi (pour toutes les années 2005-2010).
Fondamentalement, il suffit de regarder à travers les colonnes pour trouver la première instance, mais au-delà d'une sorte de fusion, je ne suis pas sûr de la meilleure façon d'aborder cela!
Merci! :)
Je n'aime pas si les structures de données qui ne sont pas normalisées. Fait écrire une requête égale à l'enfer. Peut-être serait-il sensé de transformer les données en une structure de données conforme à la 3e forme normale? – AlexanderMP