私はこのようなクエリを書き込もうとしています(できれば1つのクエリのみ):メッセージの「SenderNumber」が「Sentitems」テーブルにあり、CreatorIDが「Martin」である受信トレイテーブルからすべてのメッセージを選択します
たとえば、私の受信トレイテーブルは次のようになります。
| SenderNumber | TextMessage |
11111111 Yes, nice world!
22222222 Howdy folks!
そして私のsentitemsテーブルは非常によく似ています
| DestinationNumber | TextMessage | CreatorID
11111111 Hello world? Martin
22222222 How you do? John
この条件で受信トレイテーブルからすべてのメッセージを取得したいのですが、sentitemsテーブルにこの「SenderNumber」/「DestinationNumber」のエントリがあり、CreatorIDは「Martin」です。
したがって、この場合、他の番号のcreatorIDは「Martin」ではなく「John」であるため、このエントリが返されます。
| SenderNumber | TextMessage |
11111111 Yes, nice world!
これを試してください:
SELECT i.SenderNumber, i.TextMessage
FROM inbox as i
INNER JOIN sentitems as s ON s.DestinationNumber = i.SenderNumber AND s.CreatorID = 'Martin'
ロジックは次のとおりです。
SenderNumber
とTextMessage
テーブルから必要なものを選択しますinbox
INNER JOIN
、テーブルとsentitems
し、二つの条件:DestinationNumber
テーブルからsentitems
とSenderNumber
テーブルからinbox
同じ+ありCreatorID
、ここで、あなたが望む価値の「マーティン」を使用INNER JOIN
すると、2つの条件を尊重する結果のみが返されます。詳細については、ドキュメントを参照してください:https://sql.sh/cours/jointures/inner-join
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加