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