0

私が持っているとしましょう

SELECT `Type`, `Originating Country Code`,`Originating Currency Code`, SUM(`Principal Amount`) as Total 
FROM `colab` 
WHERE (`Destination Country Code`='PH' 
    AND `Destination Currency Code`='PHP'
    AND `Type` = 'PAID') || (`Destination Country Code`='PH' 
    AND `Destination Currency Code`='USD'
    AND `Type`= 'PAID')
    GROUP BY `Type`

正常に動作し、trueを返します。以下を参照してください。

country_code | Currency_Code  |   Type    |  Principal

=======================================================
| PH         |   PHP          |    PAID   |    200
=======================================================

私の問題は、通貨の元本の合計額を米ドルの値で分離したいということです。私のデータベース内のレコードを見てください

country_code | Currency_Code  |   Type    |  Principal

=======================================================
| PH         |   PHP          |    PAID   |    100
| PH         |   USD          |    PAID   |    100
=======================================================
4

5 に答える 5

3

このクエリを試してください:

SELECT `Currency_Code`, SUM(`Principal Amount`) as Total 
FROM `table`
GROUP BY `Currency_Code`
于 2013-03-10T03:17:06.500 に答える
1

GROUP BY次のように使用できます。

SELECT `Currency_Code`, SUM(`Principal Amount`) as Total 
FROM `table` 
WHERE `Country Code`='PH'
    AND `Type` LIKE '%W%'
GROUP BY `Currency_Code`

さらに条件を追加したい場合は、orWHEREを使用して句にパーツを追加するだけです。ANDOR

SELECT `Currency_Code`, SUM(`Principal Amount`) as Total 
FROM `table` 
WHERE `Country Code`='PH'
    AND `Type` LIKE '%W%'
    AND `Currency_Code` IN('USD', 'CAD', 'YEN')
    AND `Principal_Amount` > 10
GROUP BY `Currency_Code`
于 2013-03-10T03:18:40.253 に答える
0

使用する必要がありますGROUP BY

すなわち

SELECT `Currency Code`, SUM(`Principal Amount`) as Total 
FROM `table` 
WHERE `Country Code`='PH' 
    AND `Type` LIKE '%W%'
GROUP BY `Currency Code`
于 2013-03-10T03:17:53.720 に答える
0

要件に基づいてクエリを変更することはできませんか?? つまり、予想される結果から、Type または country_code に基づいた結果が必要であると推測しているためCurrency Code、クエリから「AND ='PHP'」を削除すると、意図した結果が得られます。

于 2013-03-10T03:24:30.020 に答える
0

基準をサブクエリに分割し、それに対して結合します。必要な数のルールを追加するだけです。

SELECT `Country Code`, `Currency Code`, `Type`,
       SUM(`Principal Amount`) as Total 
FROM `table` 
JOIN (
    SELECT 'PH' as a, 'PHP' as b, '%W%' as c
    UNION SELECT 'PH', 'USD', '%W%'
    UNION SELECT 'PY', 'PYC', '%H%'
) AS criteria
    ON (`table`.`Country Code` = criteria.a and
        `table`.`Currency Code` = criteria.b and
        `table`.`Type` like criteria.c)
GROUP BY `Country Code`, `Currency Code`, `Type`
于 2013-03-10T03:31:13.450 に答える