Sie einen Tisch machen könnte, die nur voll von Zahlen ist, wie folgt aus:
CREATE TABLE numbers
(
num INT NOT NULL
, CONSTRAINT numbers_pk PRIMARY KEY (num)
);
und es mit so vielen Zahlen füllen, wie Sie benötigen, von einem Start:
INSERT INTO numbers VALUES(1);
INSERT INTO numbers VALUES(2);
INSERT INTO numbers VALUES(3);
...
Dann, wenn Sie die Tabelle „mydata“ haben, dass han auf der Spalte „repeat_c zu wiederholen, basierend ount“würden Sie es wie so abfragen:
SELECT mydata.*
FROM mydata
JOIN numbers
ON numbers.num <= mydata.repeat_count
WHERE ...
Wenn Sie natürlich die maximale Wiederholung wissen müssen vorne zählen, und haben Ihre Zahlen Tisch hoch gehen.
Keine Ahnung, warum Sie diesen Gedanken machen möchten. Möchten Sie teilen?
Wird es mehr Zeilen in der Tabelle, die in geeigneter Weise repliziert werden soll, oder ist es immer nur die eine Zeile? –
Können Sie uns auch einen Hinweis geben, warum Sie diesen Ansatz verwenden? Es könnte eine sauberere Lösung geben. –
Das ist eine sehr seltsame Anforderung, haben Sie es mit einer Legacy-App zu tun, die dieses Format benötigt? Wenn Sie jedoch die Kontrolle über die übergebene SELECT-Anweisung haben, können Sie nicht einfach eine Schleife in Ihrem Anwendungscode verwenden? – MkV