如何选择同一行的多个副本?

Mat*_*hew 5 sql ms-access

我在MS Access中有一个表,其行有一个名为"repeat"的列

我想要SELECT所有的行,由它们的"重复"列值复制.

例如,如果repeat是4,那么我应该返回4行相同的值.如果repeat是1,那么我应该只返回一行.

这与这个答案非常相似:

/sf/answers/462570041/

除了我需要MS Access的解决方案.

ype*_*eᵀᴹ 6

首先创建一个"数字"表,并用1到1000之间的数字填充它(或者"重复"列可以具有的任何值):

CREATE TABLE Numbers
  ( i INT NOT NULL PRIMARY KEY
  ) ;

INSERT INTO Numbers 
  (i)
VALUES
  (1), (2), ..., (1000) ;
Run Code Online (Sandbox Code Playgroud)

然后你可以用这个:

SELECT t.*
FROM TableX AS t
  JOIN
     Numbers AS n
       ON n.i <= t.repeat ;
Run Code Online (Sandbox Code Playgroud)