2017-01-05 8 views
-1

は、私は次の表を使用して、最後の2ヶ月のデータを引き出したい: 私はこれまでのところに到達しました:別のSQL問合せの結果セットに対して内部結合を実行する方法はありますか。

select * from requests r INNER JOIN request_status rs ON r.id = rs.request_id where r.customer_id = <some-customer-id> AND r.created_time_stamp BETWEEN '2016-011-01 00:00:00.000000' AND '2017-01-05 00:00:00.000000' limit 10

問題は、私は別の内側の結果セットに参加入れするかどうかはわかりませんです上記のクエリの私が達成しなければならないことは、上記のクエリの結果セットに対して内部結合を実行し、その結果セットからいくつかのデータを取得することです。どのように行くのに役立ちますか?

  1. 要求:

+-----+--------------------+ | id | created_time_stamp | +-----+--------------------+ | 123 | 12:23:00 | +-----+--------------------+

  • request_status:
  • +----+------------+-------------+ | id | request_id | customer_id | +----+------------+-------------+ | 12 | 123 | 3453 | +----+------------+-------------+

  • request_process:
  • +----+-------------+------------+ | id | customer_id | process_id | +----+-------------+------------+ | 12 | 3453 | 23 | +----+-------------+------------+

    EDIT:1、ID:

    1. push_requests:ID、CUSTOMER_ID、created_time_stamp
    2. push_status

      はコロンの後に列挙されたフィールドを持つ以下の表を検討しますrequest_id

    3. サブスクライバ:id、customer_id、is_inactive

    注:そうとそうcreated_time_stamp間CUSTOMER_ID Aとpush_requestsから

    1. プルレコード:push_statusでREQUEST_IDは、私はクエリ内で達成したい何push_requestのid

      への外部キーです。

    2. これを外部キーに基づいてpush_statusテーブルに結合します。
    3. 手順1と2の結果セットをサブスクリプションテーブルに結合します。

    私は何を期待していた出力:私はなぜあなたが表示されていない加入者数は0

    +0

    現在のクエリにはどのような変更を加える必要がありますか? –

    +0

    上記のクエリの結果セットに対して内部結合を実行する必要があります。 – user3452275

    +0

    SQL Serverを使用している場合は、[docs here](https://msdn.microsoft。com/ja-us/library/ms175972.aspx) – Dalton

    答えて

    1

    のis_inactive値を持つ示しpush_requests、push_statusおよび添付の列の行全体で設定された最終結果ちょうど別のrequest_processのテーブルに参加するために、あなたのクエリに結合条件を追加することはできません:私は、タイムスタンプ'2016-01-01 00:00:00.000000'にタイプミスを修正

    SELECT * 
    FROM requests r 
    INNER JOIN request_status rs 
        ON r.id = rs.request_id 
    INNER JOIN request_process rp 
        ON rs.customer_id = rp.customer_id 
    WHERE r.customer_id = <some-customer-id> AND 
         r.created_time_stamp BETWEEN '2016-01-01 00:00:00.000000' AND 
                '2017-01-05 00:00:00.000000' 
    LIMIT 10 
    

    注意を。

    +0

    クエリには何か問題があり、同じ行が10回スローされます。 – user3452275

    +0

    これは同じ行ではなく、サンプルデータや出力、おそらくダウンボートの原因を私たちに与えたことはありません。どのようなアウトプットを期待しましたか? –

    +0

    かなり時間がかかり、問題が更新されました。私はタイプミスを修正しました。 – user3452275

    関連する問題