0

以下は私のクエリであり、私がしていることは次のとおりです。

1) ADV_CAMP テーブルから、ADV_PACK の ID を取得しています。そのテーブルの ID は VIEWCAMP テーブルに格納されます。

これらはテーブル間の関係です。

ADV_CAMP データの合計金額は ADV_PACK テーブルに格納され、ADV_CAMP テーブルの支出額は VIEWCAMP に格納されます。

2) したがって、ADV_CAMP テーブルから 2 つのランダムな値を取得する必要があります。VIEWCAMP に保存される支出額は、ADV_PACK の合計額を超えることはありません。

単一のクエリまたはその他のソリューションでデータを取得する方法はありますか?

クエリ:

"SELECT *  FROM 
".ADV_CAMP.".c  
LEFT JOIN ".ADV_PACK.".p ON c.adv_pack=p.pack_id  
LEFT JOIN  ".VIEWCAMP.".v ON v.SUM(consumption_amount) > p.pack_credits;"

前もって感謝します

4

1 に答える 1

0

議論の後、 と の間のリンクがテーブル内のフィールドとテーブル内で行われるADV_CAMPと仮定すると、これを試すことができます。VIEWCAMPidADV_CAMPadv_camp_idVIEWCAMP

SELECT 
    *  
FROM 
    ".ADV_CAMP." as c  
LEFT JOIN ".ADV_PACK." as p 
    ON c.adv_pack=p.pack_id  
LEFT JOIN (
    SELECT
        adv_camp_id,
        SUM(consumption_amount) as za_sum
    FROM 
        ".VIEWCAMP."
    GROUP BY
        adv_camp_id
) as tmp 
    ON tmp.adv_camp_id = c.id
    AND tmp.za_sum > p.pack_credits
于 2013-04-19T13:32:01.880 に答える