Je souhaiterai écrire une requête SQL permettant de récupérer différentes
informations d'une vue :
- le nom de colonne (nom réel du champ)
- l'alias
- la table d'origine du champ
Ce sont les informations des 3 premières colonnes qui s'affichent en
modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne
soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SQLpro [MVP]
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes informations d'une vue : - le nom de colonne (nom réel du champ) - l'alias - la table d'origine du champ Ce sont les informations des 3 premières colonnes qui s'affichent en modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête : SELECT * FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé en dehors de cette définition.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes
informations d'une vue :
- le nom de colonne (nom réel du champ)
- l'alias
- la table d'origine du champ
Ce sont les informations des 3 premières colonnes qui s'affichent en
modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne
soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête :
SELECT *
FROM INFORMATION_SCHEMA.VIEWS V
INNER JOIN INFORMATION_SCHEMA.COLUMNS C
ON V.TABLE_SCHEMA = C.TABLE_SCHEMA
AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition
de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être
utilisé en dehors de cette définition.
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Je souhaiterai écrire une requête SQL permettant de récupérer différentes informations d'une vue : - le nom de colonne (nom réel du champ) - l'alias - la table d'origine du champ Ce sont les informations des 3 premières colonnes qui s'affichent en modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête : SELECT * FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé en dehors de cette définition.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
ple_ain
Merci bien pour votre réponse.
Comment faire pour mettre en relation les noms d'alias récupérer par le SQL que vous indiquez : SELECT *
FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
avec les noms des champs et des tables utilisés par la vue récupérés par la syntaxe : SELECT * FROM information_schema.view_column_usage ?
Ce SQL renvoie tous les champs, y compris ceux qui ne s'affichent pas mais sont utilisés uniquement pour les liens entre les tables. ex : 30 champs utilisés par la vue pour l'affichage et les liens entre les tables, mais seulement 10 champs affichés en résultats => nombre de lignes renvoyées : 30 Peut-on extraire uniquement les champs affichés sans ceux nécessaires pour les liens ?
Peut-être existe-t-il une autre méthode ?
Merci d'avance
"SQLpro [MVP]" a écrit dans le message de news: euXq$$
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes informations d'une vue : - le nom de colonne (nom réel du champ) - l'alias - la table d'origine du champ Ce sont les informations des 3 premières colonnes qui s'affichent en modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête : SELECT * FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé en dehors de cette définition.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Merci bien pour votre réponse.
Comment faire pour mettre en relation les noms d'alias récupérer par le SQL
que vous indiquez :
SELECT *
FROM INFORMATION_SCHEMA.VIEWS V
INNER JOIN INFORMATION_SCHEMA.COLUMNS C
ON V.TABLE_SCHEMA = C.TABLE_SCHEMA
AND V.TABLE_NAME = C.TABLE_NAME
avec les noms des champs et des tables utilisés par la vue récupérés par la
syntaxe :
SELECT * FROM information_schema.view_column_usage ?
Ce SQL renvoie tous les champs, y compris ceux qui ne s'affichent pas mais
sont utilisés uniquement pour les liens entre les tables.
ex : 30 champs utilisés par la vue pour l'affichage et les liens entre les
tables, mais seulement 10 champs affichés en résultats => nombre de lignes
renvoyées : 30
Peut-on extraire uniquement les champs affichés sans ceux nécessaires pour
les liens ?
Peut-être existe-t-il une autre méthode ?
Merci d'avance
"SQLpro [MVP]" <brouardf@club-internet.fr> a écrit dans le message de news:
euXq$$YTGHA.1492@TK2MSFTNGP10.phx.gbl...
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes
informations d'une vue :
- le nom de colonne (nom réel du champ)
- l'alias
- la table d'origine du champ
Ce sont les informations des 3 premières colonnes qui s'affichent en
modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de
colonne soit l'alias mais jamais les 2, et pas le nom de la table non
plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête :
SELECT *
FROM INFORMATION_SCHEMA.VIEWS V
INNER JOIN INFORMATION_SCHEMA.COLUMNS C
ON V.TABLE_SCHEMA = C.TABLE_SCHEMA
AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de
la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé
en dehors de cette définition.
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Comment faire pour mettre en relation les noms d'alias récupérer par le SQL que vous indiquez : SELECT *
FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
avec les noms des champs et des tables utilisés par la vue récupérés par la syntaxe : SELECT * FROM information_schema.view_column_usage ?
Ce SQL renvoie tous les champs, y compris ceux qui ne s'affichent pas mais sont utilisés uniquement pour les liens entre les tables. ex : 30 champs utilisés par la vue pour l'affichage et les liens entre les tables, mais seulement 10 champs affichés en résultats => nombre de lignes renvoyées : 30 Peut-on extraire uniquement les champs affichés sans ceux nécessaires pour les liens ?
Peut-être existe-t-il une autre méthode ?
Merci d'avance
"SQLpro [MVP]" a écrit dans le message de news: euXq$$
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes informations d'une vue : - le nom de colonne (nom réel du champ) - l'alias - la table d'origine du champ Ce sont les informations des 3 premières colonnes qui s'affichent en modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête : SELECT * FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé en dehors de cette définition.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
SQLpro [MVP]
ple_ain a écrit :
Merci bien pour votre réponse.
Comment faire pour mettre en relation les noms d'alias récupérer par le SQL que vous indiquez : SELECT *
FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
avec les noms des champs et des tables utilisés par la vue récupérés par la syntaxe : SELECT * FROM information_schema.view_column_usage ?
Ce SQL renvoie tous les champs, y compris ceux qui ne s'affichent pas mais sont utilisés uniquement pour les liens entre les tables. ex : 30 champs utilisés par la vue pour l'affichage et les liens entre les tables, mais seulement 10 champs affichés en résultats => nombre de lignes renvoyées : 30 Peut-on extraire uniquement les champs affichés sans ceux nécessaires pour les liens ?
non
Peut-être existe-t-il une autre méthode ?
oui, INFORMATION_SCHEMA.COLUMNS lié à INFORMATION_SCHEMA.TABLES
A +
Merci d'avance
"SQLpro [MVP]" a écrit dans le message de news: euXq$$
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes informations d'une vue : - le nom de colonne (nom réel du champ) - l'alias - la table d'origine du champ Ce sont les informations des 3 premières colonnes qui s'affichent en modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête : SELECT * FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé en dehors de cette définition.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
ple_ain a écrit :
Merci bien pour votre réponse.
Comment faire pour mettre en relation les noms d'alias récupérer par le SQL
que vous indiquez :
SELECT *
FROM INFORMATION_SCHEMA.VIEWS V
INNER JOIN INFORMATION_SCHEMA.COLUMNS C
ON V.TABLE_SCHEMA = C.TABLE_SCHEMA
AND V.TABLE_NAME = C.TABLE_NAME
avec les noms des champs et des tables utilisés par la vue récupérés par la
syntaxe :
SELECT * FROM information_schema.view_column_usage ?
Ce SQL renvoie tous les champs, y compris ceux qui ne s'affichent pas mais
sont utilisés uniquement pour les liens entre les tables.
ex : 30 champs utilisés par la vue pour l'affichage et les liens entre les
tables, mais seulement 10 champs affichés en résultats => nombre de lignes
renvoyées : 30
Peut-on extraire uniquement les champs affichés sans ceux nécessaires pour
les liens ?
non
Peut-être existe-t-il une autre méthode ?
oui, INFORMATION_SCHEMA.COLUMNS lié à INFORMATION_SCHEMA.TABLES
A +
Merci d'avance
"SQLpro [MVP]" <brouardf@club-internet.fr> a écrit dans le message de news:
euXq$$YTGHA.1492@TK2MSFTNGP10.phx.gbl...
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes
informations d'une vue :
- le nom de colonne (nom réel du champ)
- l'alias
- la table d'origine du champ
Ce sont les informations des 3 premières colonnes qui s'affichent en
modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de
colonne soit l'alias mais jamais les 2, et pas le nom de la table non
plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête :
SELECT *
FROM INFORMATION_SCHEMA.VIEWS V
INNER JOIN INFORMATION_SCHEMA.COLUMNS C
ON V.TABLE_SCHEMA = C.TABLE_SCHEMA
AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de
la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé
en dehors de cette définition.
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Comment faire pour mettre en relation les noms d'alias récupérer par le SQL que vous indiquez : SELECT *
FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
avec les noms des champs et des tables utilisés par la vue récupérés par la syntaxe : SELECT * FROM information_schema.view_column_usage ?
Ce SQL renvoie tous les champs, y compris ceux qui ne s'affichent pas mais sont utilisés uniquement pour les liens entre les tables. ex : 30 champs utilisés par la vue pour l'affichage et les liens entre les tables, mais seulement 10 champs affichés en résultats => nombre de lignes renvoyées : 30 Peut-on extraire uniquement les champs affichés sans ceux nécessaires pour les liens ?
non
Peut-être existe-t-il une autre méthode ?
oui, INFORMATION_SCHEMA.COLUMNS lié à INFORMATION_SCHEMA.TABLES
A +
Merci d'avance
"SQLpro [MVP]" a écrit dans le message de news: euXq$$
ple_ain a écrit :
Bonjour,
Je souhaiterai écrire une requête SQL permettant de récupérer différentes informations d'une vue : - le nom de colonne (nom réel du champ) - l'alias - la table d'origine du champ Ce sont les informations des 3 premières colonnes qui s'affichent en modification de vue dans Enterprise Manager.
Les différents essais que j'ai effectués me renvoient soit le nom de colonne soit l'alias mais jamais les 2, et pas le nom de la table non plus.
Merci bien de m'indiquer quelques renseignements...
Vous devriez trouver votre bonheur avec cette requête : SELECT * FROM INFORMATION_SCHEMA.VIEWS V INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON V.TABLE_SCHEMA = C.TABLE_SCHEMA AND V.TABLE_NAME = C.TABLE_NAME
Mais pour ce qui est des alias de tables à l'intérieur de la définition de la vue, ceux ci ne sont pas acessible car il ne peuvent pas être utilisé en dehors de cette définition.
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
ple_ain
Merci pour les infos , malheureusement, je n'obtiens pas ce qu'il faut avec le SQL suivant : SELECT * FROM INFORMATION_SCHEMA.COLUMNS inner join INFORMATION_SCHEMA.TABLES on INFORMATION_SCHEMA.COLUMNS.TABLE_NAME=INFORMATION_SCHEMA.TABLES.TABLE_NAME
La syntaxe ci-dessus me renvoie, par exemple : Table_Name Column_Name Ordinal_Position Vue1 Alias1 1 Vue1 Alias2 2 Vue1 Alias3 3
Ce dont j'ai besoin, c'est : Table_Name Column_Name Champ d'origine Table d'origine Ordinal_Position Vue1 Alias1 Champ10 TableA 1 Vue1 Alias2 Champ15 TableA 2 Vue1 Alias3 Champ3 TableB 3 Autre exemple : Table_Name Column_Name Champ d'origine Table d'origine Ordinal_Position Vue_Facture Date de Facture DT_FACT ENTETE_FACT 1 Vue_Facture N° de pièce NO_PIECE ENTETE_FACT 2 Vue_Facture Nom Fournisseur LB_FOURNIS FOURNISSEUR 3
Tout ceci dans le but de connaître le champ et la table d'origine des infos d'une vue.
Merci pour toute aide...
Merci pour les infos , malheureusement, je n'obtiens pas ce qu'il faut avec
le SQL suivant :
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
inner join INFORMATION_SCHEMA.TABLES
on
INFORMATION_SCHEMA.COLUMNS.TABLE_NAME=INFORMATION_SCHEMA.TABLES.TABLE_NAME
La syntaxe ci-dessus me renvoie, par exemple :
Table_Name Column_Name Ordinal_Position
Vue1 Alias1 1
Vue1 Alias2 2
Vue1 Alias3 3
Ce dont j'ai besoin, c'est :
Table_Name Column_Name Champ d'origine Table d'origine
Ordinal_Position
Vue1 Alias1 Champ10
TableA 1
Vue1 Alias2 Champ15
TableA 2
Vue1 Alias3 Champ3
TableB 3
Autre exemple :
Table_Name Column_Name Champ d'origine
Table d'origine Ordinal_Position
Vue_Facture Date de Facture DT_FACT
ENTETE_FACT 1
Vue_Facture N° de pièce NO_PIECE
ENTETE_FACT 2
Vue_Facture Nom Fournisseur LB_FOURNIS
FOURNISSEUR 3
Tout ceci dans le but de connaître le champ et la table d'origine des infos
d'une vue.
Merci pour les infos , malheureusement, je n'obtiens pas ce qu'il faut avec le SQL suivant : SELECT * FROM INFORMATION_SCHEMA.COLUMNS inner join INFORMATION_SCHEMA.TABLES on INFORMATION_SCHEMA.COLUMNS.TABLE_NAME=INFORMATION_SCHEMA.TABLES.TABLE_NAME
La syntaxe ci-dessus me renvoie, par exemple : Table_Name Column_Name Ordinal_Position Vue1 Alias1 1 Vue1 Alias2 2 Vue1 Alias3 3
Ce dont j'ai besoin, c'est : Table_Name Column_Name Champ d'origine Table d'origine Ordinal_Position Vue1 Alias1 Champ10 TableA 1 Vue1 Alias2 Champ15 TableA 2 Vue1 Alias3 Champ3 TableB 3 Autre exemple : Table_Name Column_Name Champ d'origine Table d'origine Ordinal_Position Vue_Facture Date de Facture DT_FACT ENTETE_FACT 1 Vue_Facture N° de pièce NO_PIECE ENTETE_FACT 2 Vue_Facture Nom Fournisseur LB_FOURNIS FOURNISSEUR 3
Tout ceci dans le but de connaître le champ et la table d'origine des infos d'une vue.