表1:task_table
  字段为:task_id
         creat_user_id
         check_user_id
表2:user_table
  字段为:user_id
         user_name现在想查询task_id为'1002'的记录,同时查询该记录中creat_user_id对应的user_name和check_user_id对应的user_name请问这个SQL语句该怎么写

解决方案 »

  1.   

    select 
    a.*
    from user_table a join task_table b on a.user_id in(b.creat_user_id ,b.check_user_id)
      

  2.   


    select a.user_name ,b.user_name from 表1 inner join 表2 a on 表1.creat_user_id=a.user_name inner join 表2 b on 表1.check_user_id=b.user_name where 表1.task_id='1002'
      

  3.   


    select a.user_name ,b.user_name from 表1 inner join 表2 a on 表1.creat_user_id=a.user_id inner join 表2 b on 表1.check_user_id=b.user_id where 表1.task_id='1002'
      

  4.   

    这个语句执行结果好象是多条记录,我想生成一条记录,其格式类似如下:
    task_id    creat_user_name    check_user_name
    1002        张三                     李四
      

  5.   

    横行显示
    select 
    b.user_name ,c.user_name 
    from 
    task_table a
    join
    user_table  b on a.creat_user_id =b.user_id
    join
    user_table c on a.check_user_id=c.user_id
      

  6.   

    select
    a.task_id,b. user_name,c. user_name
    from task_table a join user_table b on a.creat_user_id=b.user_id
    join user_table c on a.check_user_id=b.user_id
    where task_id="1002"
          或者:
    select
    task_id,b. user_name,c. user_name
    from task_table,user_table a,user_table b
    where creat_user_id=a.user_id and
          check_user_id=b.user_id and
          task_id="1002"