MySQL选择基于IF的列

时间:2013-10-16 13:29:53

标签: mysql

这是我的数据库结构(简化):

Subscriptions (id, day, user_id)
MagazineEvents(id, magazine_id, subscription_id, ..., is_even_week, is_odd_week)
Magazine(id, name, ...)

杂志可以在week_number%2 == 0(偶数)或== 1(奇数)时出来,但也可以每周(偶数和奇数为1)或从不(甚至0和奇数)。< / p>

我需要列出每个订阅者的正确杂志​​,所以我在这里做了:

SELECT s.* FROM Subscriptions s
LEFT JOIN MagazineEvents me ON me.subscription_id = s.id
LEFT JOIN Magazine p ON m.id = me.magazine_id
WHERE ...

WHERE是我被困的地方,我需要根据订阅当天返回一个或没有杂志,我有SQL来获得一周的模数:{{1但是就是这样,我不能再继续了。

1 个答案:

答案 0 :(得分:1)

梯子时的用例 像

CASE when (DATE_FORMAT(day, "%v") % 2) = 0 then 'even' else 'odd' end
查询中的