这么多嵌套啊
select * 
from NewsInfor 
WHERE (dPublishDate >=  '2005-1-1' 
AND dPublishDate < '2005-2-1') 
AND id in (select INewsId 
           from MenuNewsRel 
           WHERE iMenuId in (select ID 
                             from Menu 
                             where iParentID = '147' 
                             or iParentID in (select ID from Menu 
                                              where iParentID = '147')
                             )
           )

解决方案 »

  1.   

    试一下哈
    select a.*
    from NewsInfor a,MenuNewsRel b,MenuNewsRel c
    WHERE a.dPublishDate >=  '2005-1-1' AND a.dPublishDate < '2005-2-1' 
          and a.id=b.inewsid and b.imenuid=c.id 
          and (c.iParentID = '147' 
               or c.iParentID in (select ID
                                  from Menu 
                                  where iParentID = '147')
              )
    order by c.id
      

  2.   

    提示错误:
    服务器: 消息 207,级别 16,状态 3,行 1
    列名 'iParentID' 无效。
    服务器: 消息 207,级别 16,状态 1,行 1
    列名 'iParentID' 无效。 lsxaa(小李铅笔刀) 再帮偶看看!!谢谢!