是否可以将命名计算中的行的值用作另一个命名计算的T-SQL的一部分?
我正在使用BIDS修改我拥有的SS 2005 SSAS多维数据集的数据源视图。我使用命名计算将AccountID与另一个表中的每一行相关联:
(SELECT c.ACCOUNTID FROM sysdba.CONTACT c WHERE c.CID ={current-table}.CID)
这些计算在几秒钟内完成。如果我有另一个命名计算嵌套该命令,它运行速度很慢,需要几分钟。一个例子是:
(SELECT a.TYPE FROM ACCOUNT a WHERE a.ACCOUNTID = (SELECT c.ACCOUNTID FROM sysdba.CONTACT c WHERE c.CID ={current-table}.CID))
是否有某种方法可以执行以下操作:
(SELECT a.TYPE FROM ACCOUNT a WHERE a.ACCOUNTID = {current-table}.AccountID)
显然,当我尝试它时,这不起作用。它告诉我这是一个无效的列ID。
答案 0 :(得分:1)
试一试
SELECT a.TYPE
FROM ACCOUNT a
JOIN sysdba.CONTACT c ON a.ACCOUNTID = c.ACCOUNTID
WHERE c.CID ={current-table}.CID