SQL: inner join sur les alias de colonne
Précédemment, j'ai demandé à la bande de texte à partir d'un champ et de les convertir en int, cela fonctionne correctement. Mais maintenant, je voudrais faire une JOINTURE INTERNE sur cette nouvelle valeur.
J'ai donc ceci:
SELECT CONVERT(int, SUBSTRING(accountingTab.id, PATINDEX('%[0-9]%', accountingTab.id), 999))
AS 'memId', userDetails.title, userDetails.lname
FROM accountingTab INNER JOIN
(SELECT id, title, first, last FROM memDetTab) AS userDetails ON memID = userDetails.id
Puis-je obtenir le Nom de Colonne non Valide memID
erreur.
Comment puis-je résoudre ce problème?
OriginalL'auteur Symbioxys | 2008-09-22
Vous devez vous connecter pour publier un commentaire.
Si vous avez à faire cela, vous avez des problèmes de conception. Si vous en êtes capable, je vous suggère le besoin de revoir votre table ou de relations.
Peut-être vous pouvez générer un champ de clé à partir du champ de l'identifiant et/ou de scission de la accountingTab.champ id dans les composants qui peuvent être assemblées à l'origine du champ id?
Merci je vais donner un aller, j'avais plutôt que de gâchis avec cette.
Je n'ai pas le droit de voter, mais gardez à l'esprit que, parfois, une personne travaille avec une base de données dans une situation où la refactorisation le modèle de données n'est pas possible. Il y a une tonne de "valide" encore "offensive" des raisons pour cela. Timeschedules, intrateam la politique, le poids de la code. Votre point de vue est valable, bien sûr, mais vous pourriez envisager de répondre à la question spécifique en plus de votre point.
Oui, quand cette question a montré que le premier hit sur google, j'ai été TELLEMENT heureux de voir la réponse que j'ai des problèmes de conception et devrait refactoriser ma table. VRAIMENT une réponse utile. Je vous remercie beaucoup.
OriginalL'auteur Remi Despres-Smyth
Vous pouvez répéter l'ensemble de l'expression ou l'inverse à joindre:
OriginalL'auteur Chris Shaffer
Au lieu de memId, répéter toute expression.
OriginalL'auteur Milan Babuškov