当前位置:  开发笔记 > 编程语言 > 正文

SQL:别名列上的内连接

如何解决《SQL:别名列上的内连接》经验,为你挑选了1个好方法。

以前我曾要求从字段中删除文本并将其转换为int,这可以成功运行.但是现在,我想对这个新值进行INNER JOIN.

所以我有这个:

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

然后我收到无效列名memID错误.

我怎样才能解决这个问题?



1> Chris Shaffe..:

您可以重复整个表达式或反转您的联接:

SELECT *
FROM memDetTab
    JOIN (SELECT CONVERT(int, SUBSTRING(accountingTab.id, PATINDEX('%[0-9]%', accountingTab.id), 999)) AS 'memId', userDetails.title, userDetails.lname
FROM accountingTab) subquery
    ON subquery.memID = memDetTab.ID

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有