The question is more or less answered, I just would like to add a few comments to point out the flexibility and power of doing things like this with spatial sql
As I read the question it can be divided in two questions. One GIS question and one sql question about how to combine rows in different tables.
The gis-part can as mentioned before best be solved with ST_MakeLine, if it is two points that you want to connect with your line. If it would have been lines or polygons you could use ST_Shortestline instead to get a line from the geometries between their closest points. That will work with both points, lines and polygons.
The other part is about how to connect the right store point with the right customer point.
That is a basic database question. Understanding that will give a lot more joy to using PostGIS.
The most easy situation is one store with many customers. Then you only need one customer table and your store-point and it would look something like:
Select ST_Makeline(customers.the_geom, yourPoint) from custmers;
If you have your only store in a table it would look like this:
Select ST_Makeline(customers.the_geom, stores.the_geom) from custmers, stores;
But if have many stores and each customer are only using one store, you will get a solution that looks like the other answers here, for example:
Select ST_Makeline(customers.the_geom, stores.the_geom)
from custmers, stores
where customers.storeid = stores.id;
PostgreSQL will handle that query the same way as:
Select ST_Makeline(customers.the_geom, stores.the_geom)
from custmers inner join stores
on customers.storeid = stores.id;
But in the real world you will probably get in the situation that most customers are using many stores. In earlier examples we have had the relation one store to many customers, now we have a many to many situation. Many customers using many stores.
Then there is a bad solution that you sometimes see. People add one new customer row for each store he uses. That will cause many problems if you for instance want to change his address you have to do it in many places. The more correct database of doing it is to make a "link table". I don't know if that is the right word in english but anyway. That is a table that holds all specific data for the customers relation to each store he uses. So then you have three tables. One with stores and all attributes belonging to the store like when it is open and the phone number to get in contact. Then you have the customer table maybe with address and phone number to the customer. Then you have this "link table" that should include an id for the store, the id for the customer and maybe extra information like frequency of visiting that particular store, or the distance to the store, or this line you are creating (but distance and line is better to create on the fly when you need it). Then with this new table your query would look something like:
Select ST_Makeline(customers.the_geom, stores.the_geom)
from customers inner join
c_s_link_table on customers.id = c_s_link_table.customerid
inner join stores
on c_s_link_table.storeid = stores.id;
Then you have the full flexibility. Let's say for instance that you add to your linktable how many times a month the customer visits that store. Then you can write a query like this:
Select ST_Makeline(customers.the_geom, stores.the_geom),
c_s_link_table.visits_per_month from
customers inner join c_s_link_table on customers.id = c_s_link_table.customerid
inner join stores on c_s_link_table.storeid = stores.id;
then you can use that attribute, visits_per_month to define the thicknes of your lines on the map illustrating how many visits each store gets.