Voici ma table 'extension' qui a une référence à la table 'master'.oracle sql - optimize SELECT plusieurs lignes en tant que colonnes
MASTER_ID TEXT CATEGORY
1 A1 AA
1 A2 BB
1 A3 CC
je dois mettre ces catégories sous forme de colonnes dans ma requête de sélection, donc je suis venu avec ces requêtes:
SELECT MASTER_ID,
(SELECT TEXT FROM EXTENSION WHERE CATEGORY = "AA") AS "AATEXT",
(SELECT TEXT FROM EXTENSION WHERE CATEGORY = "BB") AS "BBTEXT",
(SELECT TEXT FROM EXTENSION WHERE CATEGORY = "CC") AS "CCTEXT"
FROM MASTER
JOIN EXTENSION
ON MASTER.ID = EXTENSION.MASTER_ID
Résultat:
MASTER_ID CATEGORY_1 CATEGORY_2 CATEGORY_3
1 AA BB CC
Il fonctionne, mais la performance est un problème. Des idées comment il peut être optimisé?
Merci à l'avance
Ajoutez des exemples de données de table et le résultat attendu - tout aussi bien formaté. – jarlh
Je ne vois pas la table 'category' mentionnée n'importe où dans votre requête. Avez-vous une faute de frappe quelque part? –
@TimBiegeleisen, désolé la table est appelée extension – lorraine