SELECT COUNT(a.*) As iNumber 
From SwyMaster a, SwyMaster b
WHERE a.flag1 = 's' 
AND LEFT(a.treecode, LEN(b.code)) = b.code
AND LEFT(a.ym,6) = '200409'
AND CHARINDEX('g', a.treecode, LEN(b.code) + 1) = 0
AND b.flag1 = 'g'
AND b.topcode = '7080'
AND LEFT(b.ym, 6) <= '200409'

解决方案 »

  1.   

    SELECT /*後面接子段名稱或者變量名稱,這裡後面接了個集合*/(SELECT code 
                      FROM SwyMaster
                      WHERE (flag1 = 's') 
      AND (LEFT(treecode, LEN(aa.treecode)) = aa.treecode) 
                      AND (LEFT(ym, 6) = '200409') 
      AND (CHARINDEX('g', treecode, LEN(aa.treecode) + 1) = 0)
    )
            FROM SwyMaster aa
            WHERE (aa.flag1 = 'g') 
    AND (aa.topcode = '7080') 
    AND (LEFT(aa.ym, 6) <= '200409')
      

  2.   

    贴一下table的结构吧,看的眼花