SQL从2列上的4个表中选择

时间:2013-10-29 14:43:33

标签: mysql sql

我有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之外还有其他解决方案吗? 数据库结构无法更改,它来自已购买的扩展程序。

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,我相信你可以使用案例陈述。为了确保,请使用UNION发布您的查询,然后我会将它转换为案例陈述。

或者您可以使用以下链接作为参考: Case statement in MySQL