工单表    结构为:(1个工单号里可能会多个产品)
工单号
产品ID 
PO号 
数量
交货期工序表   结构为:(一个产品会在不同生产部门经过N道工序)
产品ID 
产品名称
工序ID
工序名
生产部门
工序工价
工序工时现在我想按工单号列出所有产品经过的所有工序出:
   
 工单号 PO号 数量 交货期 产品ID 产品名称 工序名 工价 工时谢谢!!

解决方案 »

  1.   

    inner join连接查询不就可以吗?
      

  2.   


    select 工单号,PO号,数量,交货期,产品ID,产品名称,工序名,工序工价,工序工时 from 工单表 a inner join 工序表 b on a.产品ID=b.产品ID
      

  3.   

    select
    a.工单号
    ,a.PO号
    ,a.数量
    ,a.交货期
    ,a.产品ID
    ,b.产品名称
    ,b.工序名
    ,b.工序工价 as 工价
    ,b.工序工时 as 工时
     from 工单表 as a
    left join 工序表 as b
    on a.产品ID=b.产品ID
      

  4.   


    联合的使用 
    与下面的语句会有什么区别吗?(在什么情况会不同?)
    select a.工单号,a.PO号,a.数量,a.交货期,a.产品ID,b.产品名称,b.工序名,b.工序工价 as 工价
    ,b.工序工时 as 工时  from 工单表 as a 工序表 as b where a.产品ID=b.产品ID
      

  5.   


    你这不叫联合,实际上也是连接查询,但是你的查询语句有点小毛病,在 工单表 as a 后面少了个逗号.
    select a.工单号,a.PO号,a.数量,a.交货期,a.产品ID,b.产品名称,b.工序名,b.工序工价 as 工价
    ,b.工序工时 as 工时 from 工单表 as a, 工序表 as b where a.产品ID=b.产品ID这样查询也没什么不好,但是在非内连接的时候可能会出现一些二义性,所以建议还是慢慢习惯使用这样的语句:select a.工单号,a.PO号,a.数量,a.交货期,a.产品ID,b.产品名称,b.工序名,b.工价,b.工时
    from 工单表 a inner join 工序表 b on a.产品ID=b.产品ID这种语句比较严格.