我试图创建一个mysql查询,将3个数据表连接到一行中。但是,由于用户元表的布局方式,我遇到了一些问题。表格结构如下:
用户
id user_login user_registered
1 user1 18/06/2018
2 user2 18/06/2018
用户元
user_id meta_key meta_value
1 color blue
1 type train
2 color red
2 type car
会员订阅
user_id status
1 active
2 active
我只想在用户注册时选择每个用户的用户登录名,并将其id与usermeta表和member订阅表的用户id连接起来,但仅在member订阅表中的状态为“active”的情况下,还包括每个用户的相关元数据,因此我最终得到以下结果:
user_login color type
user1 blue train
user2 red car
任何帮助都是非常感谢的,因为我真的很努力与这一个。
2条答案
按热度按时间yptwkmov1#
我不确定这是否是最有效的方法,但是如果您两次加入表,就可以很容易地根据您的必要条件进行筛选。比如:
ndh0cuux2#
对于实体-属性-值模型aka eav structure,要在不同的列中列出属性,可以使用基于属性的条件聚合,方法是像
演示