我正在使用php / mysql开发一个项目,但发现很难继续前进。这是我的情况:
我有两个表第一个“用户”,第二个是“消息”。表1包含用户ID,性别,年龄,城市和国家/地区。第二个表包含messageid,message,gender,minimum_age,maximum_age,city和country。
现在我想要实现的是向用户显示遵循消息表中所有条件的特定消息。例如:
如果我在消息表中给出条件,如
==========================================================================
messageid || message || gender || minimum_age || maximum_age || city || country
1 Messages 1 male 20 30 london UK
2 Messages 2 female ANY 40 gurgaon IN
我的年龄是24岁,性别是男性,城市是“伦敦”,国家是英国。然后我会在页面上看到消息“消息1”。如果条件都不匹配,那么我将看到任何消息。
注意:某些用户在用户数据库中没有年龄,城市,国家或性别。
我需要帮助mysql查询或最好的技术来完成这项任务。
答案 0 :(得分:0)
SELECT u.userid, u.gender, u.age, u.city, u.country, m.messageid,
m.minimum_age, m.maximum_age, m.city, m.country
FROM users u, message m
WHERE u.gender = m.gender and u.age between m.minimum_age and m.maximum_age
and u.city = m.city and u.country = m.country
这样的事情。
然后检查结果集,如果为空,则更改查询以选择所有消息
答案 1 :(得分:0)