Comme @bhamby dit, DB2 ne dispose pas d'une fonction PIVOT
.
La plupart du temps, ma requête diffère seulement dans la façon dont les résultats sont récupérés - vous auriez besoin pour exécuter le profileur/optimiseur sur eux pour être sûr, mais je crois que les sous-requêtes corrélées peuvent être exécutées par ligne (potentiellement moins efficace), plutôt que comme des ensembles. Ceci est peu susceptible d'être un problème sur de petits ensembles de données.
WITH Item (id) as (SELECT DISTINCT itemId
FROM YourTable),
SELECT item.id, Meeting.meeting, Advise.advise, NoAdvise.noadvise
FROM Item
LEFT JOIN (SELECT itemId, value as meeting
FROM YourTable
WHERE item = 'Meeting') as Meeting
ON Meeting.itemId = Item.id
LEFT JOIN (SELECT itemId, value as advise
FROM YourTable
WHERE item = 'Advise') as Advise
ON Advise.itemId = Item.id
LEFT JOIN (SELECT itemId, value as noadvise
FROM YourTable
WHERE item = 'NoAdvise') as NoAdvise
ON NoAdvise.itemId = Item.id
(... En fait, je suis un peu inquiet que vous avez des colonnes pour les deux « conseils » et « sans conseiller », qui semble être une sorte de condition booléenne - à savoir, vous devriez avoir un, mais pas l'autre).