+ -
当前位置:首页 → 问答吧 → 两表查询

两表查询

时间:2011-12-17

来源:互联网


A1表 :  
  PO号,产品编号,产品数量,客户名称,交货期,  

B2表 :产品编号,产品名称,生产部门,生产工价1,生产工价2

要想查询出

  PO号,产品编号,产品名称,产品数量,客户名称,交货期,生产部门,生产工价1,生产工价2

如何查询:
   
  我用
  selecet distinct a.PO号,a.产品编号,b.产品名称,a.产品数量,a.客户名称,a.交货期,a.生产部门,a.生产工价1,a.生产工价2 from gongdan a,bom0 b where a.产品编号=b.产品编号
  查询出的结果不符合实际, 结果好象是进行联合查询一样(得到的结果行数是:把两表的行数相乘了),为何???
要如何写才是正确的?
 
  还要有一个问题就是:我想在下面语句的结果集中,
  SELECT TOP (100) PERCENT b.gongdah, a.cpbhao FROM dbo.bom0 AS a INNER JOIN dbo.gongdan AS b ON a.cpbhao = b.cpbhao WHERE (a.ssbumen = '喷油部') ORDER BY a.cpbhao, a.ssbumen 再继续想查找出:
  select a.cpbhao,a.ssbumen,a.cpmc,a.gongxumc,a.gongjiaxj,a.xgongshi,b.gongdah,b.oc#,b.po#,b.kehu,b.shuliang,b.jiaohuoqi from bom0 a,gongdan b where a.cpbhao=b.cpbhao order by a.cpbhao,a.ssbumen
   
  如何实现??能否用一条语句搞掂....

作者: yiyaozjk   发布时间: 2011-12-17

selecet distinct a.PO号,a.产品编号,b.产品名称,a.产品数量,a.客户名称,
  a.交货期,a.生产部门,a.生产工价1,a.生产工价2 
 from gongdan a,bom0 b where a.产品编号=b.产品编号
这个查询对的,不会产生行数相乘的情况,你眼花了吧

第二个我没明白你的意思,是不是将第一个查询放在临时表里再从中取想要的数据?。。。

作者: ssp2009   发布时间: 2011-12-17

SELECT .... FROM (SELECT **** FROM****) AS B WHERE B.>..

作者: xqq771084591   发布时间: 2011-12-17