SELECT dbo.Project.*,(select name from proquyu where serialid=dbo.Project.pregional) as name1 , dbo.ProUserList.*
FROM dbo.Project INNER JOIN
      dbo.ProUserList ON dbo.Project.ProjectID = dbo.ProUserList.foreignID where name1='宁波分公司'如果这样查询,报错误,如何修改?服务器: 消息 207,级别 16,状态 3,行 1
列名 'name1' 无效。
报这个错误。

解决方案 »

  1.   

    SELECT dbo.Project.*,(name) as name1 , dbo.ProUserList.*
    FROM dbo.Project INNER JOIN
    dbo.ProUserList ON dbo.Project.ProjectID = dbo.ProUserList.foreignID 
    join proquyu on serialid=dbo.Project.pregional and name='宁波分公司'
      

  2.   

    再嵌套一层
    select 
     *
    from
    (
    SELECT
     dbo.Project.*,(select name from proquyu where serialid=dbo.Project.pregional) as name1 , dbo.ProUserList.*
    FROM
     dbo.Project 
    INNER JOIN
     dbo.ProUserList 
    ON
     dbo.Project.ProjectID = dbo.ProUserList.foreignID)t
    where
     name1='宁波分公司'
      

  3.   

    SELECT dbo.Project.*,(select name from proquyu where serialid=dbo.Project.pregional) as name1 , dbo.ProUserList.*
    FROM dbo.Project INNER JOIN
    dbo.ProUserList ON dbo.Project.ProjectID = dbo.ProUserList.foreignID where name1='宁波分公司' --name1前面指定表名
    --如果是引用上面的as name1 这样不行,再嵌套一层
      

  4.   

    SELECT dbo.Project.*, proquyu.name as name1 , dbo.ProUserList.*
    FROM Project 
    JOIN ProUserList ON Project.ProjectID = ProUserList.foreignID 
    join proquyu on serialid=Project.pregional and proquyu.name='宁波分公司'
      

  5.   


    SELECT dbo.Project.*,proquyu.name as name1, dbo.ProUserList.*
    FROM dbo.Project INNER JOIN
    dbo.ProUserList ON dbo.Project.ProjectID = dbo.ProUserList.foreignID 
    inner join proquyu on proquyu.serialid=dbo.Project.pregional
    where name1='宁波分公司'