这样的查询如何来实现???在线等
表结构如下,表名      tblA   
          结构如下: 
                      noid            fItemId            fQty1         fQty2 
                         10                        1                           5                     0 
                         10                        2                           0                        10 
                         10                        3                           0                           5   
                         20                        1                           100                     0 
                         20                        3                           0                        100                  
                noid   相同的相当于一张单据 
                现要查fItemId=1      的数据 
                (也就是说从tblA中找出所有fItemId=1的数据,再关联到tblA, 
                   关联的条件是fItemid <> 1   并且如果fItemId=1时fQty1 <> 0   ,则要取fQty2 <> 0   的数据,反之如果fItemId=1时fQty2 <> 0   则要取fQty1 <> 0的数据,并且只取第一条          
                查询结果如下:               
                noid            fItemId1   fItemId2             
                   10                     1                           2    
                   20                     1                           3 
------解决方案----------------------不知对不对   
 create table tblA(noid int, fItemId int, fQty1 int, fQty2 int) 
 insert tblA select        10,        1,         5,       0 
 union all select        10,        2,         0,        10 
 union all select        10,        3,         0,         5 
 union all select        20,        1,         100,       0 
 union all select        20,        3,         0,        100     
 select a.noid, a.fItemId, 
 fItemId2=( 
 	select top 1 (case when a.fQty1 <> 0 and fQty2 <> 0 then fItemId when a.fQty2 <> 0 and fQty1 <> 0 then fItemId end) 
 	from tblA where noid=a.noid and fItemId <> 1 
 	)  
 from tblA as a 
 where a.fItemId=1   
 --result 
 noid        fItemId     fItemId2     
 ----------- ----------- -----------  
 10          1           2 
 20          1           3   
 (2 row(s) affected)
------解决方案--------------------‘并且只取第一条 ’应该是取最小的吧。   
 --创建测试环境 
 create table #tbla(noid i