----------------合同表-------------------
合同号
客户
签订人部门(数字ID)
签订人(数字ID)
签订日期----------------合同产品表--------------
合同号
产品名称
价格
数量
总计----------------部门表------------------
部门ID
部门名称-----------------员工表----------------
员工ID
员工姓名以上是几个关联表的基本字段,一单合同在合同表中是一条记录,对应在产品表中可能有N条记录,现在要求以产品表为主,关联其它三个表内容出来
合同表和产品表是通过合同号关联的,签订人和部门是通过合同表中的ID和两表关联的,不知道这样的语句要如何写,请大家指教

解决方案 »

  1.   


    select b.产品名称,b.价格,...... from 合同表 a,合同产品表 b,部门表 c,员工表 d
    where a.合同号=b.合同号 and a.签订人部门=c.部门ID and a.签订人=d.员工ID
    and b.产品名称='条件'
      

  2.   

    select * from 合同产品表 a inner join 合同表 b on a.合同号=b.合同号 inner join 员工表 c on b.签订人=c.员工ID inner join 部门表 d on b.签订人部门(数字ID)=d.部门ID 
      

  3.   

    select a.*,b.*,c.*,d.* from 合同产品表 a inner join 合同表 b on a.合同号=b.合同号 inner join 员工表 c on b.签订人=c.员工ID inner join 部门表 d on b.签订人部门(数字ID)=d.部门ID 
      

  4.   


    select b.合同号 ,b.产品名称 ,b.价格 ,b.数量 ,b.总计
            a.客户, a.签订人部门,c.部门名称, a.签订人, 
           d.员工姓名, 签订日期 
    from 合同产品表 a
    inner join 合同表 b
    on a.合同号=b.合同号
    inner join 部门表 c
    on b.签订人部门=c.部门ID 
    inner join 员工表 d
    on b.签订人=d.员工ID
      

  5.   

    这是我写的语句,大家帮看看select a.合同号,c.部门名称,d.员工姓名,b.产品名称,b.单价,b.数量,b.总价
    from 
    合同 as a ,
    合同产品 as b,
    部门 as c
    员工 as d
    where a.合同号=b.合同号 and a.签订人=d.员工ID and a.签订人部门=c.部门ID
      

  6.   


    应该可以,但这样更好些
    -----------------------------------------------------------------
    select a.合同号,c.部门名称,d.员工姓名,b.产品名称,b.单价,b.数量,b.总价 
    from 
    合同产品 as b, 
    合同 as a , 
    部门 as c 
    员工 as d 
    where a.合同号=b.合同号 and a.签订人=d.员工ID and a.签订人部门=c.部门ID