请教通过sql能否实现如下功能
有一表:table 
 字段如下 
                nameid                                 sign 
       1,2,3,4,5,6               *,--,*,*,*,--,*   
 假如我以nameid=2或nameid=5的id登陆,从表中可以查询出对应的sign=-- 
 假如我以nameid=3或。。。。。。。。。从表中可以查询出对应的sign=* 
 请问sql   能否实现。 
 希望高手给出意见。谢谢。 
------解决方案----------------------你的内容不匹配,nameid少了一个.   
 create table A(nameid varchar(20),[sign] varchar(20)) 
 insert into A(nameid,[sign]) values( '1,2,3,4,5,6,7 ', '*,--,*,*,*,--,* ') 
 go   
 -- 建立一个辅助的临时表就可以了 
 SELECT TOP 8000 id = identity(int,1,1)  
 INTO # FROM syscolumns a, syscolumns b         
 SELECT  
     id = identity(int,1,1), 
     [sign] = SUBSTRING(A.[sign], B.ID, CHARINDEX( ', ', A.[sign] +  ', ', B.ID) - B.ID)  
 into tb1 
 FROM A, # B 
 WHERE SUBSTRING( ', ' + a.[sign], B.id, 1) =  ', '      
 SELECT 
     id = identity(int,1,1),  
     nameid = SUBSTRING(A.nameid, B.ID, CHARINDEX( ', ', A.nameid +  ', ', B.ID) - B.ID)  
 into tb2 
 FROM A, # B 
 WHERE SUBSTRING( ', ' + a.nameid, B.id, 1) =  ', '    
 GO 
 select tb2.nameid , tb1.[sign] from tb2,tb1 where tb1.id = tb2.id 
 DROP TABLE A,#,tb1,tb2   
 /* 
 id          sign                  
 ----------- --------------------  
 1           * 
 2           -- 
 3           * 
 4           * 
 5           * 
 6           -- 
 7           *   
 (所影响的行数为 7 行) 
 */