2014-09-01 48 views
0

我从中反过来我跟值从使用SQL关键字另一个表进行比较,一表“除”如何在使用数据检索函数的SQL中保存数据?

retreiving值我的查询看起来像如下

SELECT DISTINCT TDC_TREE_FAMILY_CLASSIFICATION AS DPC_Level1, 
       TDC_TREE_CLASSIFICATION AS DPC_Level2, 
       TDC_TREE_SUB_CLASSIFICATION AS DPC_Level3 
       FROM TD_DATA_PACK_CONTENTS 
       EXCEPT 
SELECT DPC_Level1,DPC_Level2,DPC_Level3 FROM DATA_PACK_CATEGORIES 
ORDER BY DPC_Level1 

现在这个查询工作正常。我想要做的是将结果保存在单个字符串变量中。

因此,我声明3临时变量来保存DPC_Level1,Lvl2,Lvl3的值,然后我可以将它们加入到单个字符串变量中。

所以我修改我的查询是这样的。

SELECT DISTINCT @m_DPC_Level11=TDC_TREE_FAMILY_CLASSIFICATION AS DPC_Level1 
       ,@m_DPC_Level2=TDC_TREE_CLASSIFICATION AS DPC_Level2, 
       ,@m_DPC_Level13=TDC_TREE_SUB_CLASSIFICATION AS DPC_Level3 
       FROM TD_DATA_PACK_CONTENTS 
       EXCEPT 
SELECT DPC_Level1,DPC_Level2,DPC_Level3 FROM DATA_PACK_CATEGORIES 
ORDER BY DPC_Level1 

但这引发错误

“一个值赋给变量不能与数据检索操作结合 SELECT语句”。我如何解决这个问题。我使用SQL Server 2008

回答

1

我会去的子查询

select @m_DPC_LEvel11 = DPC_Level1, 
     @m_DPC_Level2 = DPC_Level2, 
     @m_DPC_Level13 = DPC_Level3, 
FROM 
    (SELECT DISTINCT TDC_TREE_FAMILY_CLASSIFICATION AS DPC_Level1, 
       TDC_TREE_CLASSIFICATION AS DPC_Level2, 
       TDC_TREE_SUB_CLASSIFICATION AS DPC_Level3 
       FROM TD_DATA_PACK_CONTENTS 
       EXCEPT 
    SELECT DPC_Level1,DPC_Level2,DPC_Level3 FROM DATA_PACK_CATEGORIES 
    ORDER BY DPC_Level1) s 
相关问题