sql := 'select ho_device.*,license.*,ho_info.*,manufactuter.*,mf_device.*,dev_type.dev_name from ho_device,license,ho_info,manufactuter,mf_device,dev_type where ho_device.dev_code = license.dev_code and ho_info.code = ho_device.code ';
  sql := sql + 'and manufactuter.code = ho_device.mf_code and mf_device.dev_code = ho_device.mf_devcode and dev_type.dev_num = ho_device.dev_type';对6个表进行的联合查询,如何使用 inner join写出来?

解决方案 »

  1.   

    select ho_device.*,license.*,ho_info.*,manufactuter.*,mf_device.*,dev_type.dev_name 
      from ho_device 
        inner join license on ho_device.dev_code = license.dev_code
        inner join ho_info on ho_info.code = ho_device.code
        inner join manufactuter on manufactuter.code = ho_device.mf_code
        inner join mf_device on mf_device.dev_code = ho_device.mf_devcode
        inner join dev_type on dev_type.dev_num = ho_device.dev_type
      

  2.   

    楼上说了,inner join 是内连接,六个表间的关系字段要做好关联
      

  3.   

    这么写inner join有问题,access中说语法错误
      

  4.   

    支持的,access的查询生成的就是inner join
      

  5.   

    看了一下`~是支持的不好意思~~`用下面的试试~~~要用括号括起来而已
    select ho_device.*,license.*,ho_info.*,manufactuter.*,mf_device.*,dev_type.dev_name 
      from ((((ho_device 
        inner join license on ho_device.dev_code = license.dev_code)
        inner join ho_info on ho_info.code = ho_device.code)
        inner join manufactuter on manufactuter.code = ho_device.mf_code)
        inner join mf_device on mf_device.dev_code = ho_device.mf_devcode)
        inner join dev_type on dev_type.dev_num = ho_device.dev_type