2016-10-29 14 views
0

私は、TABLE1という3つのカラム(month distinct_count、cobrand_id)を持つテーブルを持っています。SQLのサブクエリの照合

monthとcobrand_idの列に一致する行のdistinct_count列の値を呼び出したいとします。

表1:私はたnewval計算助けが必要

SELECT to_char(transaction_date, 'YYYY-MM') as month, 
cobrand_id, 
Amount, 
CASE WHEN month = Table1.month and cobrand_id = Table2.cobrand_id 
THEN #return matching distinct_count value from Table 1# as newval 

FROM Table2 
WHERE DESCRIPTION iLIKE '%Criteria%'; 

:たとえば

enter image description here

は、私は表1といくつかの重複フィールドを持って表2と呼ばれる別のテーブルの上に次のクエリを使用しています。

論理的には、newvalはTABLE2の上のクエリから返された月&のcobrand_id値に一致するTABLE1のdistinct_count列から値を返さなければなりません。

編集:TABLE2には、distinct_countという列がありません。私は毎月&のcobrand_idがTABLE1とTABLE2の間で一致するクエリでnewvalとして各行の値distinct_countを取得しようとしています。

+0

ヒント使用しているので: 'INNER JOIN'を。 –

答えて

1

あなたにSQL文を従えばあなただけの3つの列に言及していますが、'transaction_date''DESCRIPTION''Amount'

SELECT 
    to_char(Table2.transaction_date, 'YYYY-MM') as month, 
    Table2.cobrand_id, 
    Table2.Amount, 
    Table1.distinct_count as newval 
FROM 
    Table2 
    inner join Table1 
     on to_char(Table2.transaction_date, 'YYYY-MM') = Table1.month 
     and Table2.cobrant_id = Table1.cobrant_id 
WHERE 
    Table2.DESCRIPTION LIKE '%Criteria%'; 
+0

こんにちはMcNets - Table1には3つの列しかありませんが、Table2にはTable1の3つの列を含む20以上の列があります。私はTable2からデータを取得しようとしていますが、各行には表2(cobrand_idとmonth)= Table1(cobrand_idとmonth)のdistinct_countが含まれています。 – ZJAY

+0

次に、金額と説明はTable1のフィールドですか? – McNets

+0

金額と説明は表1にありません。上記のように、Just Month、Distinct_count、cobrand_IDを指定します。表2にDistinct_countはありません。私はTable2に対してクエリを実行し、Distinct_countをNewvalとしてTable1から取り出し、Cobrand_IDとMonthが一致するようにしています。 – ZJAY