我有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之外还有其他解决方案吗? 数据库结构无法更改,它来自已购买的扩展程序。
谢谢!
答案 0 :(得分:0)
是的,我相信你可以使用案例陈述。为了确保,请使用UNION发布您的查询,然后我会将它转换为案例陈述。
或者您可以使用以下链接作为参考: Case statement in MySQL