VALUES
. के साथ गैर-स्थायी मान चुनें खोजशब्द। फिर JOIN
. का उपयोग करें s बहुत सारे और बहुत सारे संयोजन उत्पन्न करने के लिए (सैकड़ों हजारों पंक्तियों और उससे आगे बनाने के लिए बढ़ाया जा सकता है)।
लघु और तेज़ संस्करण (पढ़ने में इतना आसान नहीं):
WITH x AS (SELECT n FROM (VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) v(n))
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
FROM x ones, x tens, x hundreds, x thousands
ORDER BY 1
डेमो
अधिक वर्बोज़ संस्करण:
SELECT ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) hundreds(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) thousands(n)
ORDER BY 1
डेमो
दोनों संस्करणों को WHERE
. के साथ आसानी से बढ़ाया जा सकता है खंड, संख्याओं के आउटपुट को उपयोगकर्ता-निर्दिष्ट सीमा तक सीमित करता है। यदि आप इसका पुन:उपयोग करना चाहते हैं, तो आप इसके लिए एक तालिका-मूल्यवान फ़ंक्शन को परिभाषित कर सकते हैं।