0

私は機能し、私が望むことをする次の簡単なクエリを持っています:

SELECT 
    Table1.*, 
    Table2.*                    
FROM 
    Table1, Table2                          
WHERE 
    Table1.Col1 != '1' AND
    Table2.Col2 LIKE 'Miami' AND
    (Table2.Col3 LIKE 'USA' OR  Table2.Col2 LIKE 'US') AND  
    Table1.Col1 = Table2.Col1

これらの結果を Table3 ( SUM(Table3.Col2))の対応する値の SUM で並べ替える必要がTable3.Col1 = Table1.Col1ありTable3.Col1 = Table2.Col1ます。

WHERE句とSELECT句にこれらの2行を追加するだけSUM(Table3.Col2) でうまくいくと思いましたが、それはうまくいかず、一致する行に対応するものだけでなく、すべての値の合計で1つのTable3.Col2結果しか返されませんでした他の2つのテーブルで。

どうすればいいですか?

4

1 に答える 1

0

これを試して:

SELECT 
    Table1.*, 
    Table2.*                    
FROM 
    Table1 JOIN Table2 on Table1.Col1 = Table2.Col1
    JOIN (SELECT Col1, SUM(Table3.Col2) as `SumCol` FROM Table3) as SumTable ON Table2.Col1 = SumTable.Col1                         
WHERE 
    Table1.Col1 != '1' AND
    Table2.Col2 LIKE 'Miami' AND
    (Table2.Col3 LIKE 'USA' OR  Table2.Col2 LIKE 'US') AND  
    Table1.Col1 = Table2.Col1
ORDER BY SumTable.SumCol DESC
于 2012-09-12T18:50:20.847 に答える