複数のSQL問合せを1つの問合せにまとめて、アプリケーションから複数のリクエストをデータベースに送信しないようにします(これらのデータを1回のショットですべて受信したい)。複数のSQLクエリを1つに結合する方法は?
ここ1) select pin, officeNum, isVeteran from table18 where pin = 123;
2) select streetAddress, apartmentAddress, cityAddress, stateAddress from table1 where case = (select case from table18 where pin = 123);
3) select unitAddress, cityAddress, streetAddress, apartmentAddress from table5 where pin = 123;
4) select unitAddress, cityAddress, streetAddress, apartmentAddress from table55 where seqNum = 0 and rfa = (select rfa from table18 where pin = 123);
5) select unitAddress, cityAddress, streetAddress, apartmentAddress from table103 where histCode = 0 and case = (select case from table18 where pin = 123);
6) select phone, email from table715 where histSeqNum in (select max(histSeqNum from table715))
and histCode in (select max(histCode) from table715)
and case = (select case from table18 where pin = 123);
は私のスキーマです:
(悪いデザインを言い訳してください、それはデータベースから20年前に作成されています、外部キーが存在しない)
-Table18(ピン(PK)、ケース、オフィスナム、ベテラン)
-Table1(ケース(PK)、caseOfficer、streetAddress、apartmentAddress、cityAddress、stateAddress)
-Table5(ピン(PK)、streetAddress、apartmentAddress、cityAddress、stateAddress)
-Table55(RFA(CompositeKey )、SEQNUM(CompositeKey)、rfaAddress、streetAddress、apartmentAddress、cityAddress、stateAddress)
-Table103(ケース(CompositeKey)、histCode(CompositeKey))
-Table715(ケース(CompositeKey)、histSeqNum(CompositeKey) 、histCode(CompositeKey)、電話番号、メールアドレス)
あなたの質問は正確ですか? –
@juergend。それは他の質問のためです... – gdoron
スキーマを見ることなく少し難しいですが、サブセレクションを使って結合を実行しているように思えます。さらに情報を与えることができれば、まずあなたのスキーマをリバースエンジニアリングすることなく誰かが書き直すことができるはずです。 –