现在有四张表use,xiaoyi,jianyan,huojiang主表应该是use从表是其他三张use表中的qiyemingchen(企业名称)字段和其他三张表的qymc(企业名称)字段相同(其他三张表均有一个qymc字段)现在就是要根据这个关系把use表中的一条条纪录都搜出来,同时与use表对应的其他三张表中的纪录也搜出来我本来是这样写的select use.*,xiaoyi.*,jianyan.*,huojiang.* from use,xiaoyi,jianyan,huojiang
where xiaoyi.qymc=use.qiyemingcheng and jianyan.qymc=use.qiyemingcheng and huojiang.qymc=use.qiyemingcheng但是发现这样不对,这样搜出来的是这4张表中的“企业名称”字段都有
并且相同的,所以只搜出4条记录,实际情况是use表是所有企业都有,但是xiaoyi,jianyan,huojiang这三张表并不一定对应都有相应的纪录。我说的够清楚吗?应该怎么办啊?

解决方案 »

  1.   

    select use.*,xiaoyi.*,jianyan.*,huojiang.* from use 
    left join xiaoyi on xiaoyi.qymc=use.qiyemingcheng
    left join jianyan on jianyan.qymc=use.qiyemingcheng
    left join huojiang on huojiang.qymc=use.qiyemingcheng
      

  2.   

    就是use表对应的是企业的基本情况xiaoyi对应的是企业的效益情况jianyan对应的是企业产品的检验情况huojiang对应的是企业产品的获奖情况四张表是分开的,现在要在一张报表里面把他们都显示出来,准备只用所以就要查询咯
      

  3.   

    同意 rockswj(石头,我要学Sql)
      

  4.   

    jinjazz(人雅的标记--落寞刺客)
    我是access数据库,是用ADOQuery连的
    rockswj(石头,我要学Sql)
    那个语句显示错误阿,显示语法错误(操作符丢失)
      

  5.   

    select b.*,huojiang.* from (
    select a.*,jianyan.* from (
    select use.*,xiaoyi.*,jianyan.*,huojiang.* from use 
    left join xiaoyi on xiaoyi.qymc=use.qiyemingcheng) a
    left join jianyan on jianyan.qymc=a.qiyemingcheng) b
    left join huojiang on huojiang.qymc=b.qiyemingcheng
      

  6.   

    i feel that i am late...
      

  7.   

    我的
    select use.*,xiaoyi.*,jianyan.*,huojiang.* 
    from 
    ((use left join xiaoyi on xiaoyi.qymc=use.qiyemingcheng)
    left join jianyan on jianyan.qymc=use.qiyemingcheng)
    left join huojiang on huojiang.qymc=use.qiyemingcheng
      

  8.   

    select use.*,xiaoyi.*,jianyan.*,huojiang.* from use,xiaoyi,jianyan,huojiang
    where left join use on use.qiyemingcheng = xiaoyi.qymc
     left join use on use.qiyemingcheng = jianyan.qymc
     left join use on use.qiyemingcheng =huojiang.qymc好像是这么写的,总之对use表使用左联结就对了.
      

  9.   

    好耶~~~~按照 kaguo(▲) Guozhi(★★★★★) 的方法已经可以显示出来了~~~~~哦耶~~~~