2011-01-17 4 views
0

Je souhaite créer une requête pour sélectionner des colonnes sur la base des valeurs contenues dans cette colonne.Requête SQL avancée pour créer une requête dynamique

Fondamentalement, je veux appliquer une condition pour sélectionner une colonne particulière. Par exemple, disons qu'il existe des colonnes c1, c2, c3. Ces colonnes peuvent avoir n'importe quelles valeurs de oral, écrit, pratique dans n'importe quelle séquence. Je veux récupérer une colonne contenant la valeur oral, mais je ne sais pas quelle colonne contient cette valeur.

Répondre

0

Il semble que la conception de votre base de données ne soit pas optimale. Au lieu d'utiliser plusieurs colonnes ayant des significations similaires, il est préférable d'utiliser une table séparée et de stocker ces données dans des lignes plutôt que dans des colonnes.

Une règle générale dans les bases de données relationnelles est que chaque colonne doit stocker un type de données différent lié à l'objet représenté par une ligne. Si toutes vos colonnes stockent des types de données similaires, transformez-les en lignes dans une nouvelle table et utilisez une clé étrangère pour vous connecter entre les deux tables.