Sql 需要在单个Select语句中重复和计算值

Sql 需要在单个Select语句中重复和计算值,sql,select,record,repeat,Sql,Select,Record,Repeat,我希望有人能帮我解决这个问题。我需要在一个SELECT语句中创建我们使用的系统,该系统在Excel中有一些透视表,用于处理以下一个SELECT语句: 我有一个INL Invoice Lines表,它有很多字段,但重要的是日期 INL_ID DATE 19 2004-03-15 00:00:00.000 20 2004-03-15 00:00:00.000 21 2004-03-15 00:00:00.000 22 2004-03-16 00:00:0

我希望有人能帮我解决这个问题。我需要在一个SELECT语句中创建我们使用的系统,该系统在Excel中有一些透视表,用于处理以下一个SELECT语句:

我有一个INL Invoice Lines表,它有很多字段,但重要的是日期

INL_ID    DATE
  19    2004-03-15 00:00:00.000
  20    2004-03-15 00:00:00.000
  21    2004-03-15 00:00:00.000
  22    2004-03-16 00:00:00.000
  23    2004-03-16 00:00:00.000
  24    2004-03-16 00:00:00.000
现在,我还有一个ILD发票行详细信息,它由一个ID字段与INL表关联。从第二个表中,我需要使用scu_数量字段重复结果表中第一个表中的值

我们需要的ILD表值为:

INL_ID    scu_qty
19          1
20          1
21          1
22          4
23          4
现在,对于scu_数量,我需要重复第一个表的值,并为每个记录添加一天,scu_数量是我们在ILD表中销售的服务的天数

所以我需要得到一些东西,比如我要显示你可以看到的INL_ID 22在SCU_数量中的值不同于1。select的结果给了我如下信息:

INL_ID  DATE
22  2004-03-15  0:00:00
22  2004-03-16  0:00:00
22  2004-03-17  0:00:00
22  2004-03-18  0:00:00
在这篇信息中,我只写了需要重复和计算的字段,当然我需要更多的字段,但是会从INL表中重复,所以我不把它们放在这里,这样你就不会感到困惑

我希望有人能在这方面帮助我,这对我们这份报告非常重要。提前多谢

对不起,我的英语不是我的第一语言

SELECT INL_ID, scu_qty, CalculatedDATE ...  
FROM INL  
INNER JOIN ILD ON ...  
INNER JOIN SequenceTable ON SequenceTable.seqNo <= ILD.scu_qty
ORDER BY INL_ID, SequenceTable.seqNo
根据您的SQL风格,您需要查找日期操纵函数来执行此操作 CalculateDate={INL.DATE+SequenceTable.seqNo days}


如果数量稍大,则需要一个表来代替该子选择。或者告诉您的RDBMS是什么,有一种更简单的方法。

您使用的是什么RDBMS?sql server、mysql、oracle?
select INL.INL_ID, `DATE`
from 
    INL
    inner join
    ILD on INL.INL_ID = ILD.INL_ID
    inner join (
        select 1 as qty union select 2 union select 3 union select 4
    ) s on s.qty <= ILD.scu_qty
order by INL.INL_ID