次の簡単な受信トレイのシミュレートされたクエリがあります (メール目的)。
SELECT * FROM inbox
WHERE receiver_id=:receiver_id
AND receiver_type='a'
AND spam!='y'
ORDER by date DESC, time DESC
LIMIT :paging OFFSET :offset
Inboxテーブルには、件名、mail_body、日付、時刻などの通常のフィールドがあります。また、「C」、「L」、「A」、および (sender_id)のフラグ (sender_type) も含まれています。
(SELECT *) の最後に、その特定のタイプのユーザーの画像の拡張子を含むextという名前の追加フィールドを含めたい(そのため、画像を表示できます-画像形式はid、extは $id を意味します。 $ext - 1.jpg、2.png など....
上記のメイン クエリである現在のクエリよりも 1 つのクエリを実行する方が優れていると思います。次に、各エントリについて、タイプ C、L、A のユーザーの特定のテーブルをスキャンし、特定の ID (sender_id)に対応するextを要求します。 ) だから私は彼らの写真を表示することができます。
上記の SELECT で、各タイプのユーザーの画像のext拡張子を追加すると便利です (また可能です)でしょうか? IF ステートメントで完了していると思いますが、その方法がよくわかりません。それは本当に単純なことではありません。
L、A、およびCタイプのユーザー用に、3 つの異なるテーブル myl_u、mya_u、および myc_c からextを取得します。
L * A * およびCテーブルは次のようにクエリされます
SELECT l_id, ext, name, .. FROM myl_u
SELECT a_id, ext, name, .. FROM myl_a
SELECT c_id, ext, name, .. FROM myc_c
INBOX テーブルでは、sender_idはl_id、a_idおよびc_idに対応します。