2016-05-17 15 views
0

私は4つのテーブルを持っています。私は2つのクエリを独立して書いており、それらは動作しています。しかし、私がしたいことは、これらの2つのクエリを結合して1つの結果を生成することです。2つのselect文を結合するには

ここに私のコード

クエリ#1

SELECT 
    pm.DATE 
    ,pm.customer 
    ,pm.gp_no AS Gatepass_Num 
    ,pf.style 
    ,pf.color 
    ,pf.batch_no 
    ,COUNT(pf.roll_no) AS Roll_QTY 
    ,SUM(pf.meter) AS QTY 
FROM 
    (packinglists_fabrics_items pf 
    ,packinglists_main pm 
WHERE 
    pf.p_id = pm.id 
    [AND pm.date between {DateR,RANGE1} and {DateR,RANGE2}] 
    [AND pm.customer_id = "{factory,false}"] 
GROUP BY 
    pm.DATE, pm.gp_no, pf.style, pf.color, pf.batch_no) 

クエリ#2:

SELECT 
    lo.DATE 
    ,lo.customer_name 
    ,flo.style 
    ,flo.color 
    ,flo.batch_no 
    ,COUNT(flo.rowno) AS Roll_QTY 
    ,SUM(flo.meter) AS QTY_Meter 
FROM 
    loadinglists_fabrics_items flo, loadinglists lo 
WHERE 
    flo.p_id = lo.id 
    [AND lo.date between {DateR,RANGE1} and {DateR,RANGE2}] 
    [AND lo.customer_id = "{factory,false}"] 
GROUP BY 
    lo.DATE, flo.style, flo.color, flo.batch_no 

batch_noは、クエリ1のloadinglists_fabrics_itemsテーブルとpackinglists_fabrics_itemsテーブル

結果のためにユニークです

クエリの

enter image description here

結果2

enter image description here

enter image description here

+1

MySQLまたはMS SQL Server?関与していない製品にはタグを付けないでください。 – jarlh

+3

どのように組み合わせますか?いくつかのサンプルデータが表示され、その結果が表示されます。 – jarlh

+0

クエリの書式を設定してください。編集し、コードにマークを付け、 '{}'をクリックします。 – jarlh

答えて

2

は次のように試してみてください期待出力、私はあなたがSQL Serverの

SELECT A.* 
    ,B.* 
FROM (
    SELECT pm.DATE 
     ,pm.customer 
     ,pm.gp_no AS Gatepass_Num 
     ,pf.style 
     ,pf.color 
     ,pf.batch_no 
     ,COUNT(pf.roll_no) AS Roll_QTY 
     ,SUM(pf.meter) AS QTY 
    FROM packinglists_fabrics_items pf 
     ,packinglists_main pm 
    WHERE pf.p_id = pm.id 
     AND pm.DATE BETWEEN {DateR 
       ,RANGE1} 
      AND {DateR 
       ,RANGE2} 
     AND pm.customer_id = "{factory,false}" 
    GROUP BY pm.DATE 
     ,pm.gp_no 
     ,pf.style 
     ,pf.color 
     ,pf.batch_no 
    ) A 
INNER JOIN (
    SELECT lo.DATE 
     ,lo.customer_name 
     ,flo.style 
     ,flo.color 
     ,flo.batch_no 
     ,COUNT(flo.rowno) AS Roll_QTY 
     ,SUM(flo.meter) AS QTY_Meter 
    FROM loadinglists_fabrics_items flo 
     ,loadinglists lo 
    WHERE flo.p_id = lo.id 
     AND lo.DATE BETWEEN {DateR 
       ,RANGE1} 
      AND {DateR 
       ,RANGE2} 
     AND lo.customer_id = "{factory,false}" 
    GROUP BY lo.DATE 
     ,flo.style 
     ,flo.color 
     ,flo.batch_no 
    ) B ON A.batch_no = B.batch_no 
を使用していることを前提と
関連する問題