谁对SQL嵌套查询比较熟悉,帮下忙   
  三个表   user表如下:     
  id   department_id   name   
  1     1               张三   
  2     1               李四  
  3      2               王五
    
  department表   
  id     department_name   
  1        办公室   
  2        财务科   
    
  报销 表
  ID   userID      money
  1     1          100.00
  2     3           50.00   如何写SQL语句查询得出   
 id(user)    department_name    name(user)
  1             办公室                 张三   
  3             财务科                 王五     这样的结构出来   ,就是查询 user表 显示出 部门   条件是在报销 表里有他的记录谢谢

解决方案 »

  1.   

    --try
    select t.* ,u.name from  department d inner join user u on d.id=u.department_id
                                          inner join   报销表 t on t.userid=d.id 
      

  2.   


    select u.id,department_name,u.name
    from user as u 
        join department as d on u.department_id=d.id
        join 报销 as b on userID=u.id
      

  3.   

    问题补充,刚才没说全你的代码我还没试
    如果查询条件是在报销 表里有他的记录 并且记录中 MONEY >50结果显示:id(user)    department_name    name(user) 
      1            办公室                张三  
      

  4.   

    --try
    select t.* ,u.name from  department d inner join user u on d.id=u.department_id
                                          inner join   报销表 t on t.userid=d.id  and t.money>50
      

  5.   

    你好,现在第一个语句能够实现
    select t.* ,u.name from  department d inner join user u on d.id=u.department_id第二个语句
    select t.* from  department d inner join   报销表 t on t.userid=d.id  
    出现这种情况
    如果报销表
      报销 表 
      ID  userID      money 
      1    1          100.00 
      2    3          50.00 
      3    1          120.00 结果是
    id(user)   name(user) 
      1            张三  
      1            张三  
    两个同时用
    select t.* ,u.name from  department d inner join user u on d.id=u.department_id
                                          inner join   报销表 t on t.userid=d.id  and t.money>50说语法错误, 我是用DELPHI
      

  6.   

    --try
    select distinct t.* ,u.name from  department d inner join [user] u on d.id=u.department_id 
                                          inner join  报销表 t on t.userid=d.id  and t.money>50 
      

  7.   

      
      select Table.U_id as 'id(user)',
             department表.department_name as department_name,
             user.name as 'name(user)'
       from department表,user,
       
             (select user.id As U_id , department表.id as dep_id 
                from user, department表,报销表
                where user.id=报销表.userID
                and  department表.id=报销表.ID
              ) As Table
       where department表.id=table.dep_id
         and user.id = table.U_id
      

  8.   

    谢谢 wufeng4552 我的实际语句是这样select distinct t.* ,u.name from  (department d inner join [user] u on d.id=u.department_id )
                                       inner join  报销表 t on t.userid=d.id  where t.money>50 
    结帖