67720,67725,67742,67861,67862,67870.............  这些参数是怎么来得?假如来自一个表 t.CDBFormalID:SELECT a.CDBFormalID
FROM dbo.CustomerOperationInfo a,t
where a.CDBFormalID= t.CDBFormalID

解决方案 »

  1.   

    在CDBFormalID上建立聚积索引,SQL Server会为你优化
      

  2.   

    用存在表示很难写,应该不太好写。你应该注意观察一下你所需要的数据有什么特征,如果是连续记录,那么你用
    SELECT a.CDBFormalID
    FROM dbo.CustomerOperationInfo a,t
    where CDbFornalid >=67000 and CDbFornalid<=67870感觉你写的查询语句没有太大的意思,简直就是把数字组成集合,然后又打印出来了,一点没有查询的意思。
      

  3.   

    同感阿!
    用BETWEEN也可以阿!
      

  4.   

    如果是多次返回﹐可以插入個臨時表再用表關聯﹔
    如果是做為結果一次返回的﹐也可存入一臨時表﹐將其轉換成字符串型﹐用CharIndex() 來判斷
    Insert into #Tmp(LongStr)
    Values('67720,67725,67742,67861,67862,67870.............')SELECT t1.CDBFormalID
    FROM dbo.CustomerOperationInfo t1, #Tmp t2
    where CharIndex(','+t1.CDbFormalid+',',t2.LongStr)>0
    個人看法﹐試試可不可用
      

  5.   

    Insert into #Tmp(LongStr)
    Values(','+'67720,67725,67742,67861,67862,67870.............'+',')