Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Data query question
Message
From
02/08/2000 19:26:47
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00399991
Message ID:
00400147
Views:
21
Thanks for your reply, Eric.

Problem is, after building the query as you suggest, the only way I know to fill table is with SCAN, which is very inefficient if there is a large amount of data.

Is there a pure SQL way that anybody knows?

Here is an example to make my question clearer.
Parent table (batches table):
Batch #  Date and other info used to filter query
1        15/01/2000 etc.
2        31/01/2000
etc...

Child table (transactions table)
Batch #  Trans #   Customer #
1         1           200
1         2           150
1         3           210
1         4           050
2         5           300
2         6           310
3         7           200
etc...

Grandchild table (detail table)  There are dozens of categories.
Trans #   Category Name  Quantity
1         RegTime        8.00
1         Factor1_25     2.00 
1         Factor1_50     1.00 
2         RegTime        2.00 
3         RegTime        7.50
3         Absence        0.50
etc...

Desired result:
Batch #   Trans #      RegTime    Factor1_25    Factor1_50   Absence
1         1            8.00       2.00          1.00         0.00
1         2            2.00       0.00          0.00         0.00
1         3            7.50       0.00          0.00         0.50
etc...
Thanks.

Alex

>Build a select string by opening the table and adding to the select like:
>x = "select "
>scan
>x = x+" "+field+" AS "+field &&Blah blah blah...
>endscan
>
>Place a loop here to see if the table contains anything from the known list, anything not in the table add to the select string as a place holder.
>
>x = x+"0 AS Value, XX AS FieldName from table into table mytable"
>
>&x
>
>This should give you the names and corresponding values and zero for the others.
>
>HTH

>Hi,
>
>Have parent/child/grandchild tables. Grandchild table may contain records that contain a category with its corresponding quantity. Whenever there is no grandchild record with a given category, it means its quantity is zero.
>
>We know aheard of time all possible categories.
>
>The question is: how do you efficiently create a table (via SQL SELECT's, ideally) that contains one record for each child member and that includes a column for each possible category with with the correct quantity in it.
>
>TIA,
>
>Alex
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform