Creation d'une liste a partir d'un select

Creation d'une liste a partir d'un select - SQL/NoSQL - Programmation

Marsh Posté le 19-05-2010 à 23:53:57    

Hello :hello:

 

Je travaille sur une requete SQL pour laquelle j'ai deux tables.

 

Base Oracle.

 

L'une contient des tickets auxquels peuvent etre attribuees des proprietes
L'autre contient les proprietes associees a chaque ticket

 

Pour simplifier, disons que ma table1 contient uniquement des ids de tickets, et ma table2 contient les champs [ticket id, prop name, prop value]

 

Les noms de proprietes sont standards, de type:
Section1: SubSection1
Section1: SubSection2
...
Section2: SubSection1
Section2: SubSection2
...

 

J'aimerais construire une requete qui me retourne

 

Ticket ID, Propriete.Section1.Values, Propriete.Section2.Values

 

Ou Propriete.SectionX.Values est une liste des valeurs trouvees dans les proprietes SectionX: SubSection1, SectionX: SubSection2, etc.

 

Pour le moment je n'arrive qu'a avoir une ligne de resultat pour chaque entree de SectionX: SubSectionX

 

Une idee?

 

Merci d'avance :jap:


Message édité par Anteus le 18-10-2010 à 04:35:05

---------------
Autonomie, Excellence, But
Reply

Marsh Posté le 19-05-2010 à 23:53:57   

Reply

Marsh Posté le 20-05-2010 à 08:08:02    

Sur quelle SGBD tu veux faire ca (SQL server, Oracle, MySQL,...)?
Tu pourrais donner un exemple de quelques valeurs dans tes tables et du resultat que tu voudrais avoir?

Reply

Marsh Posté le 20-05-2010 à 11:21:03    

Salut,

 

En SQL standard, tu peux regarder du côté des jointures externes : cela permet de tenir compte du fait que chaque ticket n'a pas forcément les deux propriétés de renseignées. Si tu es sûr que non, remplace les jointures externes par des jointures classiques (left join => inner join).

 

Si j'ai bien saisi la structure de tes tables, ça donnerait un truc du type :

 
Code :
  1. select tic.ticket_id,
  2.        pr1.prop_value as 'prop_value_1',
  3.        pr2.prop_value as 'prop_value_2'
  4. from ticket tic
  5.   left join proprietes pr1 on pr1.ticket_id = tic.ticket_id
  6.   left join proprietes pr2 on pr2.ticket_id = tic.ticket_id
  7. where
  8.   pr1.prop_name = 'Section1'
  9. and
  10.   pr2.prop_name = 'Section2'


Message édité par Fred999 le 20-05-2010 à 11:21:13
Reply

Marsh Posté le 18-10-2010 à 04:34:31    

Je ne t'avais pas remercie, Fred, mais j'ai résolu mon problème par un contournement.

 

Je vais regarder ta solution de plus près demain :)


---------------
Autonomie, Excellence, But
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed