有四个表WS_jjgz, WS_Employee, bm, WS_GX
WS_jjgz字段(j):ID NAME ry_id bm_id gx_id
-------------------------
1   a     1     2    3
1   a     1     2    3
...........WS_Employee字段(e):ID NAME
-------
1   a 
1   a 
...........bm字段(e):ID NAME
-------
1   a 
1   a 
...........WS_GX字段(g):ID NAME
-------
1   a 
1   a 
...........我想实现如下显示效果:j.ID j.NAME e.NAME  g.NAME b.NAME
----------------------------------
 1     a      a       a      a
 1     a      a       a      a
 1     a      a       a      a
.............下面语错在哪里了啊??
新手请求帮助,在线求sql语句
select j.NAME,e.NAME,b.NAME,g.NAME from WS_jjgz j join WS_Employee e on j.ry_id = e.ID join bm b on j.bm_id = b.ID join WS_GX g on j.gx_id = g.ID

解决方案 »

  1.   

    select j.NAME,e.NAME,b.NAME,g.NAME 
    from WS_jjgz j inner join WS_Employee e on j.ry_id = e.ID 
    inner join bm b on j.bm_id = b.ID 
    inner join WS_GX g on j.gx_id = g.ID--join 换成 inner join
      

  2.   

    select
      j.ID=j.ID,
      j.NAME=j.NAME,
      e.NAME=e.NAME,
      b.NAME=b.NAME,
      g.NAME=g.NAME 
    from 
      WS_jjgz j 
    inner join 
      WS_Employee e 
    on 
      j.ry_id = e.ID 
    inner join 
      bm b 
    on 
      j.bm_id = b.ID 
    inner join 
      WS_GX g 
    on 
      j.gx_id = g.ID
    试试看!
      

  3.   

    create table #WS_jjgz(id int,name char(4),ry_id char(4),bm_id char(4),gx_id char(4))
    insert into #WS_jjgz select 1,'a',1,2,3
    insert into #WS_jjgz select 1,'a',1,2,3
    gocreate table #WS_Employee(id int,name char(4))
    insert into #WS_Employee select 1,'a'
    insert into #WS_Employee select 1,'a'
    gocreate table #bm(id int,name char(4))
    insert into #bm select 1,'a'
    insert into #bm select 1,'a'
    gocreate table #WS_GX(id int,name char(4))
    insert into #WS_GX select 1,'a'
    insert into #WS_GX select 1,'a'
    goselect j.id,j.NAME,e.NAME,g.NAME,b.NAME from 
    #WS_jjgz j,#WS_Employee e,#bm g,#WS_GX b
    where 
    j.id=e.id and e.id=g.id and g.id=b.id and b.id=j.id
      

  4.   

    QQMagicer(在IT的路上越走越远) ( ) 信誉:100    Blog  2006-12-27 11:59:51  得分: 0  
     
     
       select j.NAME,e.NAME,b.NAME,g.NAME 
    from WS_jjgz j inner join WS_Employee e on j.ry_id = e.ID 
    inner join bm b on j.bm_id = b.ID 
    inner join WS_GX g on j.gx_id = g.ID--join 换成 inner join-------------------------------应该是正解了
      
     
      

  5.   

    SELECT j.NAME,e.NAME,b.NAME,g.NAME 
    FROM ws_jjgz j 
    INNER JOIN ws_employee e 
    ON j.ry_id = e.id 
    INNER JOIN bm b 
    ON j.bm_id = b.id 
    INNER JOIN ws_gx g 
    ON j.gx_id = g.id
      

  6.   

    select WS_jjgz.id,WS_jjgz.name,WS_Employee.name,bm.name
    ,WS_GX from ((WS_jjgz inner join WS_jjgz on
    ws_jjgz.ry_id=ws_jjgz.id) inner join bm on ws_jjgz.bm_id=bm.id) inner join ws_gx on ws_jjgz.gx_id=ws_gx.id;
    这样,试试 
    如果行,加分
      

  7.   

    你把ID和NAME两个字段的名字换一下,都是关键字!
      

  8.   

    SELECT j.[NAME],e.[NAME],b.[NAME],g.[NAME] 
    FROM ws_jjgz j 
    INNER JOIN ws_employee e 
    ON j.ry_id = e.[id]
    INNER JOIN bm b 
    ON j.bm_id = b.[id]
    INNER JOIN ws_gx g 
    ON j.gx_id = g.[id]
      

  9.   

    我只添加一个inner join 是可以显示,当添加第二个inner join 就显示语法错误.why???
      

  10.   

    明白了,语法错误,应该这样
    select j.NAME,e.NAME,b.NAME,g.NAME 
    from ((WS_jjgz j inner join WS_Employee e on j.ry_id = e.ID) 
    inner join bm b on j.bm_id = b.ID) 
    inner join WS_GX g on j.gx_id = g.ID
    结贴,谢谢大家