0

2 つの個別のクエリがあり、どちらも期待どおりの結果を返します。最初のクエリは、データベースから ID 値のペアを返します。サンプルのペア: [1,2]、[3,6]、[10,15]

トリップペアを繰り返し挿入することによる2番目のクエリは、期待どおりにデータのリストを取得します。

9979 と 240 の値は、クエリ用の定数です。

1 番目のクエリを 2 番目のクエリ内にネストして、クエリ 1 から取得した HID と SID でグループ化されたすべての結果を一度に取得する方法に関する提案はありますか? (6000回の個別の反復は、あまり整然としたソリューションではありません)

SELECT     TH1.THR_ID AS HID, SHEAD.THR_ID AS SID
        FROM         RTDEV.TRIP_HEADERS SHEAD INNER JOIN
        RTDEV.TRIP_LINKS TLINK ON SHEAD.TME_ID = TLINK.TME_ID AND SHEAD.THR_ID =
        TLINK.PRIOR_SBSQUNT_THR_ID INNER JOIN
        RTDEV.TRIP_HEADERS TH1 ON TLINK.TME_ID = TH1.TME_ID AND TLINK.THR_ID = TH1.THR_ID
        WHERE     (SHEAD.TME_ID = 9979) AND (TLINK.TME_ID = 9979) AND (TH1.TME_ID = 9979)         AND
        (TLINK.LINK_TYPE = 'S')
        ORDER BY SHEAD.TRIP_NAME

SELECT     ‘1’ AS HID, ‘2’ AS SID, RTDEV.TRIP_HEADERS.TRIP_NAME,
     RTDEV.TRIP_HEADERS.DOP_REF,RTDEV.TRIP_BODIES.DEPARTURE_TIME,RTDEV.TNODED.STRLONGNAME
        FROM         RTDEV.TRIP_BODIES INNER JOIN
        RTDEV.TNODED ON RTDEV.TRIP_BODIES.MASTER_NODE = RTDEV.TNODED.NID INNER JOIN
        RTDEV.TRIP_HEADERS ON RTDEV.TRIP_BODIES.TME_ID = RTDEV.TRIP_HEADERS.TME_ID AND 
        RTDEV.TRIP_BODIES.THR_ID = RTDEV.TRIP_HEADERS.THR_ID
        WHERE (RTDEV.TNODED.NPROJECTGEOGRAPHYID = 240) AND (RTDEV.TRIP_BODIES.TME_ID =
        9979) AND (RTDEV.TNODED.STRLONGNAME IS NOT NULL) 
        AND (RTDEV.TRIP_BODIES.ARRIVAL_TIME <> RTDEV.TRIP_BODIES.DEPARTURE_TIME) AND
        (RTDEV.TRIP_HEADERS.TME_ID = 9979) AND 
        (RTDEV.TRIP_HEADERS.THR_ID IN (1, 2))
        ORDER BY RTDEV.TRIP_BODIES.DEPARTURE_TIME
4

0 に答える 0