1

次の簡単な受信トレイのシミュレートされたクエリがあります (メール目的)。

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 ステートメントで完了していると思いますが、その方法がよくわかりません。それは本当に単純なことではありません。

LA、および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_ida_idおよびc_idに対応します。

4

1 に答える 1