查询明细记录表相同父ID的记录ID,怎么简化?半天没写出来
SELECT               BatchDetail_ID 
 FROM                           BatchDetail 
 WHERE      BatchDetail_FaID   IN 
 (SELECT               BatchDetail_FaID 
                                                                                     FROM                              BatchDetail 
                                                                                     WHERE                  BatchDetail_Operator   =    '17 ') 
 怎么自关联简化一下?
------解决方案--------------------SELECT     BatchDetail_ID 
 FROM         BatchDetail as A,BatchDetail as B 
 WHERE  A.BatchDetail_FaID=B.BatchDetail_FaID and A.BatchDetail_Operator =  '17 '   
 这样行不?
------解决方案--------------------SELECT     BatchDetail_ID 
 FROM         BatchDetail 
 WHERE exists (SELECT BatchDetail_FaID 
                             FROM          BatchDetail 
                             WHERE      BatchDetail_Operator =  '17 ') 
------解决方案--------------------SELECT  BatchDetail_ID 
   FROM  BatchDetail b 
  WHERE  EXISTS(SELECT * FROM BatchDetail  
                 WHERE BatchDetail_FaID = b.BatchDetail_FaID AND  
                       BatchDetail_Operator =  '17 ') 
------解决方案--------------------select BatchDetail_ID FROM BatchDetail WHERE BatchDetail_Operator =  '17 '和你的语句没啥区别啊。
------解决方案--------------------SELECT DISTINCT A.BatchDetail_Id 
 FROM BatchDetail A INNER JOIN 
           (SELECT batchdetail_faId AS faid 
          FROM batchdetail 
          WHERE batchdetail_operator =  '17 ') b ON A.BatchDetail_FaId = b.faid
------解决方案--------------------SELECT     BatchDetail_FaID,BatchDetail_ID 
                             FROM          BatchDetail 
                             WHERE      BatchDetail_Operator =  '17 ' GROUP BY    BatchDetail_FaID,BatchDetail_ID
------解决方案--------------------是啊 
 select BatchDetail_ID FROM BatchDetail WHERE BatchDetail_Operator =  '17 ' 
 不和你上面的一样么?