SELECT DISTINCT incident, projectname,
          (SELECT applier
             FROM ULT_bxiao_head
             WHERE incident = b.incident) AS applierM,   --applier 与已有列名重名
          (SELECT applydate
             FROM ULT_bxiao_head
             WHERE incident = b.incident) AS applydate,
          (SELECT feenumber
             FROM ULT_bxiao_head
             WHERE incident = b.incident) AS feenumber
FROM ULT_bxiao_detail b
WHERE (projectname =
          (SELECT TOP 1 projectname
             FROM ULT_bxiao_detail
             WHERE b.incident = incident)) AND (applier LIKE '%n%') AND (applydate = '2003-5-15')

解决方案 »

  1.   

    distinct 的作用和GROUP BY 的作用很类似的,他会列重复出现的的其他列的内容进行求和。我想你的错误出现可能就是这个原因啊。其他问题,我没有看出来,而且也不知道你的表结构。不好说。呵呵~~~
      

  2.   

    SELECT incident, projectname,
              (SELECT applier
             FROM ULT_bxiao_head
             WHERE incident = b.incident) AS applier
    FROM ULT_bxiao_detail b
    WHERE (projectname =
              (SELECT TOP 1 projectname
             FROM ULT_bxiao_detail
             WHERE b.incident = incident)) AND (applier LIKE '%n%')
    也提示无效的列!applier
    但是
    SELECT incident, projectname,
              (SELECT applier
             FROM ULT_bxiao_head
             WHERE incident = b.incident) AS applier
    FROM ULT_bxiao_detail b
    WHERE (projectname =
              (SELECT TOP 1 projectname
             FROM ULT_bxiao_detail
             WHERE b.incident = incident)) AND (incident>1)
    却可以正确执行!
      

  3.   

    SELECT B.incident, B.projectname,A.applier
    FROM ULT_bxiao_detail b,ULT_bxiao_head A
    WHERE A.incident = b.incident 
    and (projectname =
    (SELECT TOP 1 projectname
             FROM ULT_bxiao_detail
             WHERE b.incident = incident)) AND (A.applier LIKE '%n%')
      

  4.   

    SELECT incident, projectname,
              (SELECT applier
             FROM ULT_bxiao_head
             WHERE incident = b.incident  AND (applier LIKE '%n%')) AS applier
    FROM ULT_bxiao_detail b
    WHERE (projectname =
              (SELECT TOP 1 projectname
             FROM ULT_bxiao_detail
             WHERE b.incident = incident))
      

  5.   

    兄弟们,tj_dns(愉快的登山者) 我的要求是在
    WHERE (projectname =
              (SELECT TOP 1 projectname
             FROM ULT_bxiao_detail
             WHERE b.incident = incident))
    后加applier like ...
    j9988,谢谢你的回复,但是因为查询后结果有重复所以你的不行,否则我早用了,请再帮我想想办法!。