表 wldw 有字段 单位代码,单位名称
表 pzda 有字段 产品代码,产品名称
表 wldwdj 有字段 单位代码,产品代码,销售价格求一条 sql 语句显示 每个客户的所有产品的销售单价
比如 A 产品 在WLDWDJ 中 B客户没有单价 但是C客户有单价
要求这样的数据也显示出来 单价就为0

解决方案 »

  1.   

    select 销售价格 from wldwdj,pzda,wldw where pzda.产品代码=wldwdj.产品代码 and wldw.单位代码=wldwdj.单位代码
    额、不知道符合你要求吗。
      

  2.   

    select * from wldwdj a join wldw b on a.单位代码=b.单位代码 join pzda c on a.产品代码=c.产品代码
      

  3.   


    SELECT a.单位代码,
           a.单位名称,
           c.产品代码,
           c.产品名称,
           b.销售价格
    FROM   wldw a
           LEFT JOIN wldwdj b
                ON  a.单位代码 = b.单位代码
           JOIN pzda c
                ON  b.产品代码 = c.产品代码
      

  4.   

    select a.* , b.* , c.* , isnull(b.销售价格,0) 销售价格 from wldw a
    left join wldwdj b on a.单位代码 = b.单位代码
    left join pzda c on b.产品代码 = c.产品代码
      

  5.   


    select b.单位名称,c.产品名称,isnull(a.销售价格,0) as 销售价格
    from wldwdj a 
    right join wldw b on (a.单位代码=b.单位代码)
    right join pzda c on (a.产品代码=b.产品代码)
      

  6.   

    select a.*,b.*,isnull(c.销售价格,0) as 销售价格
    from wldw a inner pzda b left join wldwdj c on a.单位代码=c.单位代码 and b.产品代码=c.产品代码
      

  7.   


    SELECT a.单位代码,
           a.单位名称,
           c.产品代码,
           c.产品名称,
           b.销售价格
    FROM   wldw a
           LEFT JOIN wldwdj b
                ON  a.单位代码 = b.单位代码
           JOIN pzda c
                ON  b.产品代码 = c.产品代码
      

  8.   

    select
     a.* , b.* , c.* , isnull(b.销售价格,0) 销售价格 
    from
     wldw a
    left join
     wldwdj b on a.单位代码 = b.单位代码
    left join
     pzda c on b.产品代码 = c.产品代码
      

  9.   

    你们的做法就是简单 的左连接 
    这样的数据 一定是在表 wldwdj  里面有的数据才会显示出来如果 A 客户在wldwdj  表中没有 C 产品的价格 那么就不会出现这么一条数据需求是 A 客户在wldwdj  表中没有 C 产品的价格的时候也有这一行数据 只不过是单价为零查询的结果 行肯定大于 wldwdj  表的总条数
      

  10.   


    select 单位名称,产品名称,销售价格 from(
    select 单位代码,产品名称,ISNULL(销售价格,0) as 销售价格  from wldwdj a 
    left join pzda b on a.产品代码=b.产品代码
    ) u join wldw c on u.单位代码=c.单位代码