J'essaie de faire quelque chose d'un peu bizarre mais je n'arrive pas à trouver la bonne façon d'y parvenir. Essentiellement, j’essaie d’extraire toutes les tables/vues et colonnes où le nom de la colonne ressemble à une certaine chaîne. Au-delà de cela, je souhaite extraire 1 ligne de données de cette combinaison table/vue et colonne. C'est dans la deuxième partie que je me perds. Je sais que je peux extraire les tables/vues et colonnes nécessaires à l'aide de l'instruction select ci-dessous.
SELECT COLUMN_NAME AS 'ColumnName' ,TABLE_NAME AS 'TableName' FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%email%' ORDER BY TableName,ColumnName;
De cette façon, j'obtiendrai quelque chose comme ci-dessous
|ColumnName |TableName | |emailAddress |all_emails | ....
Mais je veux obtenir quelque chose comme ceci :
|ColumnName |TableName |Example | |emailAddress |all_emails |[email protected]| ....
Quelqu’un peut-il nous donner un aperçu ?
Je n'arrive pas à penser à un moyen simple de procéder dans une requête, mais voici une option...
Placez la liste des colonnes et des tables dans une table temporaire et exécutez-les dans une boucle, en utilisant SQL dynamique pour sélectionner la plus grande ligne pour chaque table.
J'ai ajouté beaucoup de commentaires ci-dessous pour l'expliquer.