Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 297
  • Last Modified:

duplicating and incrementing records vfp

Hi:
Trying to wean my staff off excel....
I have 100 customers and 10 products. Each customer has a different price for each product.
Currently I have 100 excel sheets
I have created a customer table with 100 records and a product table with 10 records.
So I believe I need now to create a joining table  (called say "price") comprising 3 columns - customer , product, and price for that product.
Is there any fast and easy way of looping through each customer in the customer table, appending to the price table 10 records for each customer,pulling each product from the product table? So I end up with (100*10) 1000 records? One record for every product for every customer?
 I can make the product code sequential 1-10 if easier!
0
ClaytonGlass
Asked:
ClaytonGlass
  • 3
1 Solution
 
mkobrinCommented:
i don't know foxpro, but the way i would do it in MSSQL would be as follows:
declare cCustomers scroll cursor for select customerID from customers
declare @i int = 0
open cCustomers
fetch next from cCustomers into @i
while @@fetch_status = 0
BEGIN
	insert into customerProduct(customerID, productID, price) values(@i, product1ID, product1Price)
	insert into customerProduct(customerID, productID, price) values(@i, product2ID, product2Price)
	insert into customerProduct(customerID, productID, price) values(@i, product3ID, product3Price)
	insert into customerProduct(customerID, productID, price) values(@i, product4ID, product4Price)
	insert into customerProduct(customerID, productID, price) values(@i, product5ID, product5Price)
	insert into customerProduct(customerID, productID, price) values(@i, product6ID, product6Price)
	insert into customerProduct(customerID, productID, price) values(@i, product7ID, product7Price)
	insert into customerProduct(customerID, productID, price) values(@i, product8ID, product8Price)
	insert into customerProduct(customerID, productID, price) values(@i, product9ID, product9Price)
	insert into customerProduct(customerID, productID, price) values(@i, product10ID, product10Price)
         fetch next from cCustomers into @i
END
deallocate cCustomers

Open in new window

0
 
CaptainCyrilCommented:
Customer (id, customer, address, phone, ...)
Product (id, product, defaultprice, ..., order)
CustomerProductPrice (customer, product, price)

SELECT Customer.id As customer, Product.id As product, defaultprice as price;
 FROM Customer, Product;
 ORDER BY Product.order;
 INTO CURSOR temp
SELECT CustomerProductPrice
APPEND FROM DBF('temp')
0
 
CaptainCyrilCommented:
I am sorry
ORDER BY Customer.Customer, Product.order

or


ORDER BY Customer.Customer, Product.Product
0
 
ClaytonGlassAuthor Commented:
Thank you very much, Captain!
I would thank mkorbin but since the captain offered a foxpro solution I will go with that. Thanks for the offer,anyway!
0
 
CaptainCyrilCommented:
You are welcome.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now