sql - 根据字段值增量并创建记录

标签 sql ms-access

Access 2003

最终我需要创建一个用于打印标签“Sample ID,Jar x of x”的报告。

我的表有 sample ID 和 jar 数量。是否可以创建一个查询,为我提供 3 个字段: sample ID、 jar 号、 jar 数 - 其中 jar 号根据 jar 数以增量方式创建记录?

  Query:  Sample ID - Jar Number - Number of Jars
          Sample 1    1            4
          Sample 1    2            4
          Sample 1    3            4
          Sample 1    4            4
          Sample 2    1            2
          Sample 2    2            2

表信息为:

  Table:  Sample ID - Number of Jars
          Sample 1    4
          Sample 2    2

我想避免为每个 jar 创建表记录。

最佳答案

您可以利用数字表:

SELECT samples.[Sample ID], 
       samples.[Number of Jars], 
       Numbers.Number AS [Jar Number] INTO NewSamples
FROM samples, Numbers
WHERE Numbers.Number<=[Number of Jars]

Samples 是当前表的名称。

数字表包含 1 到 jar 可以获得的最大数字之间的整数,例如 100。

如果您已经有一个从零开始的数字表,您可以使用:

WHERE Numbers.Number Between 1 And [Number of Jars]

关于sql - 根据字段值增量并创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15486569/

相关文章:

ms-access - 在直通查询中使用函数调用?

vba - 在VBA中串联字符串

sql - 未找到匹配项时左连接结果为空

sql - 编写sql server查询,查看一张表链接了多少个表

php - SQL 在自连接结构中全部获取

sql - 无法弄清楚 Access SQL 语法错误

sql - 配置单元将max + 1插入同一表无法正常工作

SQL 查询 - 将查询中的日期格式更改为 DD/MM/YYYY

sql-server - 为什么 Access 按表分解 JOIN 查询,然后将每个查询分别传递给 ODBC (SQL Server)?

ms-access - MS Access 查询中是否有 "Not In"的有效替代方案?