I'm using Sybase V11 and I'm encountering an issue I hope you can help me with.
I have 3 products and services associated to these products. They are in 3 tables, one for products, one for services and one for the relations.
The products:
IdProducto  Nombre              
[char    ]  [char              ]
----------  --------------------
1           Telemática Conductor
2           Telemática Empresas 
3           EComparte
The services:
IdServicio  Nombre                              Precio
[char    ]  [char                             ] [money
1           Dongle                              10.50
2           Fleet Intelligence                  5.00                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
3           App. Móvil                          3.00                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
4           App. Gestor                         13.75                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
5           Web Usuarios                        13.75                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
6           Id Conductor                        7.50
The Relations:
IdProducto  IdServicio  Opcional
[char    ]  [char    ]  [bit   ]
1           1           0       
1           3           0       
2           1           0       
2           2           0       
2           3           1       
2           6           1       
3           1           0       
3           4           0       
3           5           0       
3           6           0       
3           2           1
What I want to achieve is something like this but dynamically:
Name                                            Price                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
[char                                         ] [money                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
EComparte                                       45.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
EComparte / Fleet Intelligence                  50.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Conductor                            13.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas                             15.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas / App. Móvil                18.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas / App. Móvil / Id Conductor 26.00                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas / Id Conductor              23.00
Getting like a list of packs of Products + optional services.
What I did is I used a temporary table:
create table #temp(
Libelle varchar(50) NULL,
Montant TypMonnaie NULL)
insert into #temp
select TP.Nombre, SUM(TS.Precio) 
from SPEESP..TelProductos TP, SPEESP..TelProductosServicios TPS, SPEESP..TelServicios TS 
where TP.IdProducto = TPS.IdProducto and TPS.IdServicio = TS.IdServicio
and TPS.Opcional = 0
group by TP.Nombre
insert into #temp
select Libelle = t.Libelle + ' / ' + TS.Nombre, Montant = t.Montant + TS.Precio 
from #temp t, SPEESP..TelProductos TP, SPEESP..TelProductosServicios TPS, SPEESP..TelServicios TS 
where TP.IdProducto = TPS.IdProducto and TPS.IdServicio = TS.IdServicio and TP.Nombre = t.Libelle
and TPS.Opcional = 1
With these queries I get :
Libelle                             Montant                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
[char                            ]  [money                                                                                                                                                                                                                                                                                                                                                                            
EComparte                           45.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
EComparte / Fleet Intelligence      50.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Conductor                13.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas                 15.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas / App. Móvil    18.50                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
Telemática Empresas / Id Conductor  23.00                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
But I don't know how to obtain this line:
Telemática Empresas / App. Móvil / Id Conductor 26.00
And anyway, It must be dynamical. Like if an optional service is later added the new lines must be returned. like :
Telemática Empresas / App. Móvil / Id Conductor / New Service 26.00 + New Price
I would really appreciate any help you could give me.
Regards Henri
 
     
     
    