Фиктивные столбцы с порядковыми номерами в SQL-запросе - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь создать фиктивные столбцы с последовательными номерами в запросе SQL или в ADO, используя Excel VBA.

SEQ1 = some Sequential number e.g. 0,1,2,3,4,5,6....100
SEQ2 = some Sequential number e.g. 1,2,3,4,5,6,7....100

Запрос:

TRANSFORM FIRST(F2.Textval) AS Textval
SELECT SEQ1 AS DUMMY1, SEQ2 AS DUMMY2, COUNT(F2.Position) AS Pos, F1.Name AS Name
FROM FILE1 AS F1 INNER JOIN FILE2 AS F2
ON F1.ID = F2.ID
GROUP BY F1.Name
ORDER BY F1.Name, F2.Position
PIVOT F2.Position IN (1,2,3,4,5,6,7,8,9,10...100)

Вывод:

Q.1] Есть ли способ создать эти фиктивные столбцы исключительно в запросе SQL без использования первичного ключа?Я не хочу писать циклы в Excel VBA для создания последовательности.

Вывод должен выглядеть следующим образом:

DUMMY1    DUMMY2    Pos    Name    1        2        3        4        5....
==============================================================================
0         1         78     AB     OBIW      SDMS     SDED     GSAS     SDSQ...
1         2         12     DS     ZASY      SEEW     QTSA     RYUD     SOPH...
2         3         33     EF     QWET      DJMS     WDUD     JSAS     SDJL...
3         4         60     AC     ALJJ      BDMS     AUUD     AWAS     EDST...
4         5         02     JK     ADGH      VDWS     CARD     ARAF     SNSS...
...

Q.2] Может ли последовательность ниже быть написана исключительно в SQLЗапрос вместо кодирования в Excel VBA?

PIVOT F2.Position IN (1,2,3,4,5,6,7,8,9,10...100)

В настоящее время я создаю эту последовательность в VBA:

NumSeq = JOIN([TRANSPOSE(ROW(1:100))], ",")

...PIVOT F2.Position IN NumSeq
...