Je pense que vous aimeriez que le nom de la colonne soit défini dynamiquement en fonction du contenu de tbl1 et tbl2.
Ce n'est pas possible, le plus proche que vous puissiez obtenir est de créer dynamiquement une instruction SQL avec des alias distincts pour les colonnes (basées sur une requête SQL précédente pour trouver les valeurs appropriées). Cela serait bien sûr limité aux noms d'UN utilisateur donné puisque plusieurs utilisateurs peuvent avoir des noms en conflit, mais la requête ne prendra qu'un seul allias par colonne... (C'est BTW un, mais pas la raison principale, pourquoi cela peut ne se fait pas directement en SQL).
REMARQUE DE MODIFICATION : La réponse de David Andres montre une façon de faire une telle requête en deux étapes.