日期:2014-05-17  浏览次数:20483 次

如何对两个没有关联的表中的数据分别统计,然后将结果合并?
各位大侠:

现我厂里接单和生产情况有两个表:
一个是接单表:
Cust_id   Quantity
(客户)  (生产量)
  A          500
  B          300
  A          100
 ...         ...

另一个是生产不良表
NG_type     NG_Qty
(不良类型)  (不良量)
   厂内          10 
   厂外           2
   厂外           3
   ...         ...

  麻烦大家帮忙,我想统计出接单总量、厂外不良量(NG)、厂外不良占接单量比比例。如何用查询语句对这两个没有关联的表中的数据进行分别统计,然后将统计结果输出到另外一个临时表中,实现结果如下:

Sum_Qty    Sum_NG_out     NG_Rate
(接单总量)   (不良量)    (不良比例)
  900              5               0.55%

希望各位大侠帮帮忙,先谢谢了!

------解决方案--------------------
select Quantity,NG_Qty,rtrim(cast(Quantity*100.0/NG_Qty as decimal(28,2)))+'%'
(select (select sum(Quantity) from 接单表)[Quantity],(select sum(NG_Qty) from 生产不良表)[NG_Qty])t
------解决方案--------------------

??
DECLARE @a TABLE(a VARCHAR(20),b INT)
INSERT @a SELECT 'A',          500
UNION ALL SELECT  'B',          300
UNION ALL SELECT 'A',          100

DECLARE @b TABLE(a VARCHAR(20),b INT)
INSERT @b SELECT '厂内',          10 
UNION ALL SELECT '厂外',           2
UNION ALL SELECT '厂外',           3
    
select a Sum_Qty,b Sum_NG_out ,ltrim(STR(b*1.0/a*100,10,2))+'%' NG_Rate
from (select sum(b) a,(select sum(b) from @b where a='厂外') b from @a) aa
--result
/*Sum_Qty     Sum_NG_out  NG_Rate     
----------- ----------- ----------- 
900         5           0.56%

(所影响的行数为 1 行)*/