解决这个需求,必须从数据库表设计、表间关系和设计SQL查询等多个方面着手方能解决。首先为了提高查询的准确率,首先应建立建立一张肤质表,肤质表的肤质字段与会员表的肤质字段建立一对多关系,这样可以统一对不同肤质的表述,以提高查询的准确性和减少查询难度。例如干性肤质可以表述为干性、干质、干燥等如果不统一,势必会造成查询上的麻烦和准确率问题。另外产品适用年龄通常是分年龄段的,因此还要将护肤品信息表的产品适用年龄字段分解为“适用年龄起”和“适用年龄止”两个字段并设定该两个字段的数据为整形数字且不得为空。
表名:肤质表
id(主键,自增ID)肤质(文本,索引 有(无重复))
1 干性
2 中性
3 油性
4 敏感
5 超敏感
注意:具体肤质内容请根据护肤专业的具体实践而定。
另外护肤品信息表的适合肤质字段,只能录入肤质表中录入的肤质类型,对于
跨适合类的护肤品其适合肤质字段应该分别用肤质表中的各个肤质类型组合表述,
例如适合各种普通皮肤应的应表述为“中性、油性和干性”,适合所有敏感
皮肤的则应表述为“敏感或超敏感”,否则无法准确查询。
运行下列SQL查询语句即可列出各个产品的适用会员列表了
SELECT A. 产品名,A.产品适用年龄,A.适合肤质,B.会员名
FROM 护肤品信息表 AS A,会员信息表 AS B WHERE
(B.年龄>=A.适用年龄起 AND B.年龄<=A.适用年龄止)AND A.适合肤质 LIKE '*' & B.肤质 & '*'
ORDER BY A. 产品名,B.会员名
温馨提示:内容为网友见解,仅供参考