【发布时间】:2015-09-07 18:06:11
【问题描述】:
一开始我想写,我使用 SQLite 数据库。 我有那张桌子:
CREATE TABLE Raty ( -- Installments
ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
RataPrognDataSplaty DATE, -- the projected date of repayment
RataDataWplaty DATE, -- date of payment
RataMonit DATE, -- that and below are reminder dates, when it's write up
RataWezw1 DATE, --
RataWezw2 DATE, --
RataWezwOstat DATE, --
RataWezwDoWydania DATE, --
RataWezwDoPracodawcy DATE --
);
我写贷款程序,如果有些客户不付款,我设置发出提醒付款。
例如,我每天有 20 个客户的列表,但今天不支付不同的延迟时间( IN ('7', '14', '28', '42') )。 它们显示在表格中。 我得到第一个,我根据他不付款的天数写提醒,例如 7 天。 例如,在 RataMonit 列中,我写了今天的日期。 这是主要问题,我希望这个客户从 20 个客户列表中消失,直到他付款或下一次提醒 - 14 天。
我写了那个查询,但它不起作用。
SELECT *
FROM Raty
WHERE RataDataWplaty IS NULL AND
CAST(CAST((strftime('%s', 'now') - strftime('%s', RataPrognDataSplaty)) AS REAL)/60/60/24 AS INT) IN ('7', '14', '28', '42')
AND (
(RataWezwDoPracodawcy IS NULL OR RataWezwDoPracodawcy == DATE('now')) OR
(RataWezwDoWydania IS NULL OR RataWezwDoWydania == DATE('now')) OR
(RataWezwOstat IS NULL OR RataWezwOstat == DATE('now')) OR
(RataWezw2 IS NULL OR RataWezw2 == DATE('now')) OR
(RataWezw1 IS NULL OR RataWezw1 == DATE('now')) OR
(RataMonit IS NULL OR RataMonit == DATE('now')) );
【问题讨论】: