无法在 Join 中加入 table / Select 语句

Trouble joining table / Select statement inside Join

一个 table 有一个 "item" 包含 SKU 编号的列(我们称之为 DASHDB),而另一个 table 有一个 "item" 包含 SKU 的列没有破折号的数字(我们称之为 NODASH_DB)。我需要加入这两个 tables.

我知道我可以做这样的事情:

FROM (SELECT REPLACE (ITEMDASH,'-','') AS ITEMNO FROM DASHDB) AS NEWITEMNO
LEFT JOIN NODASH_DB ON NEWITEMNO.ITEMNO = NODASH_DB.ITEMNO

但是,我已经在从其他 table 中提取数据,这大约有四个连接。

我试过了:

LEFT JOIN (SELECT REPLACE(ITEMDASH,'-','') AS ITEMNO FROM DASHDB) AS NEWDB ON NEWDB.ITEMNO = NODASH_DB.ITEMNO

但它没有接受正确的数据库。使用 Microsoft SQL Server Management Studio 17.

没有样本数据很难判断,但这应该可行:

LEFT JOIN DASHDB 
ON REPLACE(DASHDB.ITEMDASH,'-','') = NODASH_DB.ITEMNO

例如,参见 http://sqlfiddle.com/#!18/36879/1