Click here to Skip to main content
15,347,244 members
Articles / Database Development
Tip/Trick
Posted 17 Dec 2010

Stats

20.7K views
6 bookmarked

Use SQL to generate large data sequence

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
19 Feb 2015CPOL
Generate large data series by using Cartesian Product and small data table

The proposed solution demonstrates the concept of generating a large data series by using structured query language (SQL) and relatively small data tables, thus dramatically reducing the overall 'digital footprint' (rather important design consideration for any mobile/compact/embedded solutions).
 
Sample coding technique to demonstrate the concept utilizes a small table (Table1) with just 10 records, containing integer numbers: 0,1,2,3,...9, and a single SQL query to generate a virtual time line, which spans for 10,000 days, or roughly 27 years moving backward from the current date (Access SQL, Listing 1):
 

SQL
SELECT Now()-CLng([Table1].[Num] & [Table1_1].[Num] & [Table1_2].[Num] & [Table1_3].[Num]) AS TimeSeries
FROM Table1, Table1 AS Table1_1, Table1 AS Table1_2, Table1 AS Table1_3
ORDER BY Now()-CLng([Table1].[Num] & [Table1_1].[Num] & [Table1_2].[Num] & [Table1_3].[Num]) DESC;

 
The logic behind the solution is rather straightforward. The query creates 2 virtual tables (Table_1, Table_2 and Table_3) in addition to the 'concrete' permanent Table1, and then applies the so-called 'Cartesian product' technique, concatenating every record from all 4 tables (permanent and virtual as well). Then it applies the data type conversion to long integer, which represents the date, and finally, sorts the date series of 10,000 records, going from current date backward in descending order.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

DrABELL
Software Developer (Senior)
United States United States
Dr. Alexander Bell is a seasoned full-stack Software Engineer (Win/Web/Mobile). He holds PhD in Electrical and Computer Engineering, authored 37 inventions and published 300+ technical articles. Currently focused on multiple Android/Mobile development projects and Big Data' Machine Learning, AI, IoT. Alex participated in App Innovation Contests (AIC 2102/2013) with multiple winning submissions. Sample portfolio apps and publications:

  1. Aggregate Product function extends SQL
  2. Use SQL to generate large data sequence
  3. HTML5/CSS3 graphic enhancement: buttons, inputs
  4. Advanced CSS3 Styling of HTML5 SELECT Element
  5. YouTube™ API for ASP.NET
  6. HTML5 Tables Formatting: Alternate Rows, Color Gradients, Shadows

Comments and Discussions

 
QuestionSQL Server Pin
Member 1041007620-Feb-15 14:33
MemberMember 1041007620-Feb-15 14:33 
GeneralFYI: short URL to the full article: http://exm.nr/SQLSeq Pin
DrABELL4-Jan-11 9:36
MemberDrABELL4-Jan-11 9:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.