Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 第1-7天的循环数字ID,oracle APEX_Sql_Oracle Apex_Oracle Apex 5.1 - Fatal编程技术网

Sql 第1-7天的循环数字ID,oracle APEX

Sql 第1-7天的循环数字ID,oracle APEX,sql,oracle-apex,oracle-apex-5.1,Sql,Oracle Apex,Oracle Apex 5.1,我有一个表格,用数字标识一周中的每一天 CREATE TABLE days_schedule ( days_schedule_id INT, schedule_id INT, day_id INT); INSERT INTO TABLE days_schedule VALUES (1001, 1007, 1); INSERT INTO TABLE days_schedule (1002, 1008, 2); ... 在另一个包含装运的表中,有一列标记为AVAILABLE DAY,该列的数字

我有一个表格,用数字标识一周中的每一天

CREATE TABLE days_schedule (
days_schedule_id INT,
schedule_id INT,
day_id INT);

INSERT INTO TABLE days_schedule
VALUES (1001, 1007, 1);

INSERT INTO TABLE days_schedule
(1002, 1008, 2); ...
在另一个包含装运的表中,有一列标记为AVAILABLE DAY,该列的数字表示收到装运后产品可用的天数。例如,如果它说14天,第一天是星期一(1),那么它将在14天后的星期日(7)可用。目前,我使用了:

SELECT ...,
CONCAT(CONCAT(CONCAT(
sd.day_id + sch.available_day, ' ('
), sch.available_day
), ')'
) as 'Available Day'
FROM schedule sch
INNER JOIN days_schedule sd
ON (sch.schedule_id = sd.schedule_id)
我遇到的问题是,只需将两列的值相加,就可以得到一个和(在上面的示例中为15)


当计数超过7时,如何添加值并强制将计数重置为1。

我可以使用
mod(sd.day\u id+sch.available\u day,7)

CONCAT

中,这一点更简单、更清晰:

mod(sd.day_id - 1 + sch.available_day, 7) + 1
   || ' (' || sch.available_day || ')' as "Available Day"

提示:使用
mod(第7列)
谢谢,我会试试的!谢谢,还有,我刚刚遇到了代码计数0的问题,我尝试添加0,但它说“缺少右括号”,尝试类似于
mod(sd.day\u id-1+sch.available\u day,7)+1的方法