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 中的案例语句

于 2013-10-29T14:54:39.407 回答