0

私は4つのテーブルを持っています。重要なコラムだけ書きます。

Users (u)    - id
Friends (f)  - sender_id, receiver_id
Fans (fan)   - sender_id (it is me), receiver_id
Activity (a) - sender_id, receiver_id

友達や私がサポートしている人々から活動を得る必要があります。

これは、次の可能性があることを意味します。

1) u.id = f.sender_id   AND f.receiver_id   = a.sender_id
2) u.id = f.sender_id   AND f.receiver_id   = a.receiver_id
3) u.id = f.receiver_id AND f.sender_id     = a.sender_id
4) u.id = f.receiver_id AND f.sender_id     = a.receiver_id
5) u.id = fan.sender_id AND fan.receiver_id = a.sender_id
6) u.id = fan.sender_id AND fan.receiver_id = a.receiver_id

UNION を使用する以外の解決策はありますか? 拡張機能を購入したため、データベース構造を変更することはできません。

ありがとうございました!

4

1 に答える 1

0

はい、case ステートメントを使用できると思います。確認のため、UNION を使用してクエリを投稿してください。そうすれば、case ステートメントに変換されます。

または、以下のリンクを参照として使用できます: MySQL の Case ステートメント

于 2013-10-29T14:54:39.407 に答える