Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル開始終了から連番の作成
記事No172303
投稿日: 2018/06/24(Sun) 11:08
投稿者yamamotoy
OS:Windows7
Access Version:2016

お世話になっております。
begin、Endが超整数で書いてあるテーブル IN に対して、
beginとendの間の数字を連番で生成するOUTを作る SQLを教えていただけないでしょうか。

テーブル "IN"
Begin End
8 8
10  12
30  33

テーブル "OUT"
8
10
11
12
13
30
31
32
33

タイトルRe: 開始終了から連番の作成
記事No172304
投稿日: 2018/06/24(Sun) 14:06
投稿者hatena
SQLだけでないレコードを生成することはできないので、
生成する連番の最大件数をもつテーブルが必要になりますね。

テーブル "SEQ"
NUM
0
1
2
3
4



SELECT BEGIN + NUM AS 連番
FROM IN, SEQ
WHERE BEGIN + NUM <= END;

テーブル無しでということなら、VBAでOUTテーブルにAddnewすることになるかと。

タイトルRe: 開始終了から連番の作成
記事No172305
投稿日: 2018/06/24(Sun) 15:45
投稿者よろずや
SELECT [IN].Begin+Q1.Num+Q2.Num+Q3.Num AS 連番
FROM [IN], (SELECT FIRST(0) As Num FROM [IN]
  UNION ALL SELECT FIRST(1) FROM [IN]
  UNION ALL SELECT FIRST(2) FROM [IN]
  UNION ALL SELECT FIRST(3) FROM [IN]
  UNION ALL SELECT FIRST(4) FROM [IN]
  UNION ALL SELECT FIRST(5) FROM [IN]
  UNION ALL SELECT FIRST(6) FROM [IN]
  UNION ALL SELECT FIRST(7) FROM [IN]
  UNION ALL SELECT FIRST(8) FROM [IN]
  UNION ALL SELECT FIRST(9) FROM [IN]
 )  AS Q1, (SELECT FIRST(0) As Num FROM [IN]
  UNION ALL SELECT FIRST(10) FROM [IN]
  UNION ALL SELECT FIRST(20) FROM [IN]
  UNION ALL SELECT FIRST(30) FROM [IN]
  UNION ALL SELECT FIRST(40) FROM [IN]
  UNION ALL SELECT FIRST(50) FROM [IN]
  UNION ALL SELECT FIRST(60) FROM [IN]
  UNION ALL SELECT FIRST(70) FROM [IN]
  UNION ALL SELECT FIRST(80) FROM [IN]
  UNION ALL SELECT FIRST(90) FROM [IN]
 )  AS Q2, (SELECT FIRST(0) As Num FROM [IN]
  UNION ALL SELECT FIRST(100) FROM [IN]
  UNION ALL SELECT FIRST(200) FROM [IN]
  UNION ALL SELECT FIRST(300) FROM [IN]
  UNION ALL SELECT FIRST(400) FROM [IN]
  UNION ALL SELECT FIRST(500) FROM [IN]
  UNION ALL SELECT FIRST(600) FROM [IN]
  UNION ALL SELECT FIRST(700) FROM [IN]
  UNION ALL SELECT FIRST(800) FROM [IN]
  UNION ALL SELECT FIRST(900) FROM [IN]
 )  AS Q3
WHERE ((([IN].Begin+Q1.Num+Q2.Num+Q3.Num)<=[IN].[End]))
ORDER BY [IN].Begin+Q1.Num+Q2.Num+Q3.Num;

よいこは真似しないでね。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る