mysql 查询检查性别是否全选
mysql query to check if gender selected all
您好,在我的应用程序中,我想根据广告商选择的受众向用户展示广告。目前我正在为用户数据库中的每个用户保存性别。如果用户选择性别男性或女性,广告效果最佳。但我不知道如果用户选择全部作为受众,我该如何修改查询。
我有两个 table。 Promotion
和 audience
。这就是我现在查询的方式
SELECT p.id
, v.id
, a.id
, a.user_id
, a.name
, a.min_age
, a.max_age
, a.gender
, a.created
FROM promotion p
LEFT
JOIN video v
ON v.id = p.video_id
LEFT
JOIN audience a
ON a.id = p.audience_id
WHERE p.user_id != 17
AND a.gender = 'Male'
我打算做的是,如果 Audience table 中的 gender
值保存为 all
那么它不应该在查询中检查 male 或 female。无论用户是男性还是女性,它都应该获取所有记录
您在找这样的东西吗?
WHERE ....
AND `Audience`.`gender` IN ('All', ?)
问号表示查询的参数,对应于用户的性别。它可能取值 'Male'
或 'Female'
。如果 audience
s 存储 gender
是 'All'
,无论给定的参数如何,条件总是匹配。
您好,在我的应用程序中,我想根据广告商选择的受众向用户展示广告。目前我正在为用户数据库中的每个用户保存性别。如果用户选择性别男性或女性,广告效果最佳。但我不知道如果用户选择全部作为受众,我该如何修改查询。
我有两个 table。 Promotion
和 audience
。这就是我现在查询的方式
SELECT p.id
, v.id
, a.id
, a.user_id
, a.name
, a.min_age
, a.max_age
, a.gender
, a.created
FROM promotion p
LEFT
JOIN video v
ON v.id = p.video_id
LEFT
JOIN audience a
ON a.id = p.audience_id
WHERE p.user_id != 17
AND a.gender = 'Male'
我打算做的是,如果 Audience table 中的 gender
值保存为 all
那么它不应该在查询中检查 male 或 female。无论用户是男性还是女性,它都应该获取所有记录
您在找这样的东西吗?
WHERE ....
AND `Audience`.`gender` IN ('All', ?)
问号表示查询的参数,对应于用户的性别。它可能取值 'Male'
或 'Female'
。如果 audience
s 存储 gender
是 'All'
,无论给定的参数如何,条件总是匹配。