我需要制作这样的简单表格
此表代表每个月的年度会员身份,它非常简单,那里没有高级资料,会员资格状态由管理员手动更新(当会员付费时,该月的管理员更新状态)。
从数据库的角度来看,我有两个简单的表:
正如您所看到的,我有一个包含member_id和date的会员资格表,以及付款时正在填写该表格。
所以我的问题是:映射数据以匹配该表的好方法是什么?
我正在考虑这样的事情(例如我想要2017年的所有成员数据)select m.*,
GROUP_CONCAT(MONTH(ms.date)) as dates
from members m
left join membership ms on m.id = ms.member_id
where ms.date >= 01-01-2018
and ms.date <= 12-31-2018
这个查询应该返回带有日期数组的成员列表(数组数组,每个数字代表月份),所以在UI方面,我可以根据它生成这个表视图?对此有任何建议,任何人都有更好的解决方案吗?
答案 0 :(得分:0)
您的查询似乎很好。然后,您可以使用它来确定日期数组中是否存在月份,方法是使用日期数组上的includes
函数。
例如,要检查二月份是否应该有一个X,您需要检查dates.includes(2)
。如果为true,请放置X,否则留空。