Bonjour à tous,
Je possède une table A (ida, idb, context). Selon le contexte (qui ne peut prendre que deux valeurs possibles), un seul idb sera lié à un ou plusieurs ida.
Je dois faire une requête SELECT qui renvoie les associations idb à ida dans les différents contextes, donc la première colonne sera un idb, et la seconde un tableau d'idb.
(les idb référence une table B mais c'est pas important, faut juste les récupérer)
Un petit exemple du résultat que j'attends :
Voici ce que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 A:ida A:idb A:context 1 1 1 1 2 0 1 3 0 1 4 0 => résultat attendu : 1, ARRAY[2,3,4]
Le soucis c'est que sur mon jeu de données, cette requête est très très très très longue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 SELECT sub.id, ARRAY( SELECT a.ida FROM A a WHERE a.context = 0 AND ida = sub.id) FROM ( SELECT a.id FROM A a WHERE a.context = 1 ) sub;
Auriez-vous des optimisations à me proposer ?
Merci à vous,
A bientôt
Partager