Requête SQL Jointure avec la Table temporaire
Je suis en train de définir des valeurs dans une table temporaire en utilisant les exemples ci-dessous: SQL sortie: Est-il possible de créer un temporaire de sortie de la colonne?
J'ai créé mon premier tableau, où je suis en utilisant les noms de colonne de base de la population d'une nouvelle colonne de valeurs "operdesc".
Voici ma table de travail de requête où je reçois la valeur COLUMN_NAME j'ai besoin. Je veux ajouter un temp colonne "OPÉRANDE":
SELECT COLUMN_NAME, DATA_TYPE, 'OPERAND' AS TempField,
CASE WHEN COLUMN_NAME = 'Street' THEN '=' WHEN COLUMN_NAME = 'Town' THEN 'CW' END AS OPERAND FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_SCHEMA = 'dbo') AND (TABLE_NAME = 'Customers') ORDER BY COLUMN_NAME
Cependant, je tiens à prendre une étape supplémentaire et de le simplifier en utilisant une température de jointure. J'ai suivi cet exemple: SQL sortie: Est-il possible de créer un temporaire de sortie de la colonne? mais je suis accroché à mon script. C'est ce que j'ai, mais ça ne marche pas, j'espère que je suis à proximité:
WITH XOperLU (xopername, xoperdesc)
AS
(
SELECT xopername, CAST(xoperdesc AS VARCHAR(20))
FROM (
VALUES ('Street', 'SS'),
('Town', 'TW')
) AS XOperLU (xopername, xoperdesc)
) SELECT COLUMN_NAME as T1.COLUMN_NAME, DATA_TYPE as T1.DATA_TYPE, S1.xoperdesc AS Description FROM INFORMATION_SCHEMA.COLUMNS AS T1 WHERE (TABLE_SCHEMA = 'dbo') AND (TABLE_NAME = 'Clients')
INNER JOIN XOperLU AS S1
ON S1.xopername = T1.COLUMN_NAME;
Les "Clients" de la table est un point de vue.
Merci beaucoup d'avance!
OriginalL'auteur ripsin | 2013-10-13
Vous devez vous connecter pour publier un commentaire.
Vous l'aviez presque ok, mais vous avez eu
T1
alias utilisé dans la colonne alias à la place de la colonne, et plus important encore, vous avez euWHERE
avantJOIN
. Cela fonctionne:Si vous voulez voir toutes les autres colonnes qui n'ont pas de description spécifiée à être défini, par exemple, "XX", vous pouvez utiliser une jointure gauche:
Oui, c'est fait, bonne chance.
Merci. Est-il un moyen de ruser j'ai donc voir tous les enregistrements(COLUMN_NAMES) avec une Description définie à " XX " pour ceux que je n'ai pas de définir des valeurs pour?
Oui, voir mon edit.
Excellente! Merci beaucoup, très travaillé. J'ai été absent de la JOINTURE GAUCHE.
OriginalL'auteur Szymon