Sql server 2005 从另一个命名计算中引用命名计算
是否可以将命名计算中的行的值作为T-SQL的一部分用于另一个命名计算 我正在使用BIDS修改SS2005SSAS多维数据集的数据源视图。我使用命名计算将AccountID与另一个表中的每一行关联:Sql server 2005 从另一个命名计算中引用命名计算,sql-server-2005,tsql,ssas,Sql Server 2005,Tsql,Ssas,是否可以将命名计算中的行的值作为T-SQL的一部分用于另一个命名计算 我正在使用BIDS修改SS2005SSAS多维数据集的数据源视图。我使用命名计算将AccountID与另一个表中的每一行关联: (SELECT c.ACCOUNTID FROM sysdba.CONTACT c WHERE c.CID ={current-table}.CID) 这些计算只需几秒钟。如果我有另一个嵌套该命令的命名计算,它运行非常慢,需要几分钟。例如: (SELECT a.TYPE FROM ACCOUNT a
(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。试试看
SELECT a.TYPE
FROM ACCOUNT a
JOIN sysdba.CONTACT c ON a.ACCOUNTID = c.ACCOUNTID
WHERE c.CID ={current-table}.CID
抛出:>无法完成延迟准备。无法准备对账单。关键字“from”附近的语法不正确。我尝试了内部连接而不是从中连接,但速度也很慢。