Petite astuce SQL : génération de requêtes SQL avec Excel

Si c’est une évidence pour les vieux de la vieille, je me rends compte que tous ne sont pas forcément au courant de cette technique assez simple qui permet de générer des requêtes SQL avec Excel. Ça a surement déjà dû être bloggé 10 fois, mais ça va plus vite d’écrire l’article que de le chercher 😉

Vous partez depuis Excel, avec le tableau qu’on souhaiterait importer côté SQL:

Un tableau dans Excel

Vous y ajoutez la formule Excel suivante :

Tableau plus la formule qui suit

="SELECT '"&Tableau1[@[Colonne 1]]&"' AS Colonne1, "&Tableau1[@[Colonne 2]]&" AS Colonne2, '"&Tableau1[@[Colonne 3]]&"' AS Colonne3 UNION ALL"

Le principe vous l’avez compris : on compose une chaîne de caractère (= »SELECT… ») qui va correspondre à un SELECT simple (qui n’a pas besoin de FROM sur SQL Server, on rajoute FROM DUAL sur du Oracle) qui seront enchainés les uns aux autres par le UNION ALL (= »SELECT … UNION ALL »). Dans cette chaîne, on n’oublie pas de mettre les champs texte entre quote (‘ ).

Voilà ce que ça donne :

Tableau avec le résultat de la formule sur la première ligne

Ce qu’on va pouvoir recopier pour tout le tableau :

Tableau avec la formule recopié pour toutes les lignes

Direction SQL Server Management Studio, où on supprime le dernier UNION ALL, puis on encapsule le tout dans un SELECT imbriqué, et hop, mes valeurs sont prêtes à être intégrées avec un INSERT INTO, ou utilisées pour définir une vue :

La requête SQL en résultat

En SQL:

SELECT
        Colonne1,
        Colonne2,
        Colonne3
FROM (
        SELECT 'A' AS Colonne1, 12 AS Colonne2, 'XART' AS Colonne3 UNION ALL
        SELECT 'B' AS Colonne1, 15 AS Colonne2, 'CFSE' AS Colonne3 UNION ALL
        SELECT 'C' AS Colonne1, 42 AS Colonne2, 'SJRU' AS Colonne3 --UNION ALL
) A

C’est quand même bien fait hein ?

SQLSaturday à Paris – Samedi 14 Septembre!

Samedi 14 Septembre 2013 (Event Time Announcer) aura lieu à Paris le premier SQLSaturday en France.

SQLSAT251_web_thumb1

D’abord, c’est quoi un SQLSaturday ? C’est un événement organisé par le PASS, Professional Association for SQL Server, l’association officielle des utilisateurs de SQL Server. Je dis officielle car c’est celle qui est reconnue internationalement par Microsoft. Et le « local chapter » pour le PASS en France, vous vous en doutez bien, c’est le GUSS, le Groupe des Utilisateurs francophones de SQL Server.

GUSS Logo

Si le PASS global organise principalement le PASS Summit, habituellement les chapters organisent eux deux types d’événements : les SQLRally et les SQLSaturday :

  • PASS Summit : Plus grosse conférence SQL Server dans le monde, annuelle, traditionnellement à Seattle mais cette année à Charlotte, payante (+/- 1500€) avec les meilleurs speakers mondiaux
  • SQLRally : Conférences de quelques jours, plus locales, également payantes (+/- 500€) avec un contenu premium
  • SQLSaturday : Training d’une journée, communautaire, gratuite, occasion d’apprendre pour les participants comme pour les speakers. NB : ne se déroule pas forcément un samedi.

Et c’est là que vous comprenez pourquoi depuis 2 ans les Journées SQL Server, l’événement que nous organisons avec le GUSS en décembre, ne portent pas l’étiquette PASS : elles ne rentrent pas dans la structure marketing actuelle de l’organisation.

Or avec le renouvellement du board du GUSS cette année, a été décidé un rapprochement de notre association de la ligne éditoriale du PASS, et donc l’organisation d’un événement qui reprend le branding global : le SQLSaturday 251 à Paris.

Avec ce rapprochement arrivent certains avantages : la possibilité d’utiliser la plateforme technique du PASS pour la logistique d’organisation (y compris les propositions de sessions pour les speakers), et justement l’accès à des speakers internationaux inscrits sur les bonnes mailings listes.

Le planning le voici (à cliquer pour voir en grand):

Planning SQLSaturday 251

Et pour cette édition 251 nous aurons donc en guest stars:

  • Jen Stirrup, MVP SQL Server, Consultante aux UK (Blog | Twitter), référence internationale sur la BI et la DataViz sur la plateforme Microsoft. Elle est dans mes flux RSS depuis le début !
  • Hugo Kornelis, MVP SQL Server, Consultant aux Pays Bas (Blog | Twitter), qui va nous expliquer à fond le tout nouveau ColumnStore Index
  • Allan Mitchell, MVP SQL Server, Consultant aux UK (Twitter), spécialiste de l’intégration de données (SSIS, DQS, MDS) qui va nous causer Hadoop et plus précisément de Hive

Plus la crème des speakers français, Christophe Laporte, David Barbarin, la team rocket, etc, etc… 😉

On pourrait s’interroger sur le fait qu’on retrouve un peu toujours les mêmes copains dans la liste, avec justesse. Sur ce coup c’est pour 2 raisons principales :

  1. D’abord pour ne pas prendre de risque sur la première édition d’un événement,
  2. Ensuite, on n’a finalement pas reçu tant de propositions que ça lors de l’appel aux speakers. En fait pas mal de speakers étrangers, mais peu de francophones, et on a essayé de pas trop forcer sur la VO non sous-titrée

Mais sachez bien que si ça marche on pourrait faire ça plusieurs fois par an, et permettre à tous ceux qui le souhaitent de s’essayer en speaker.

Dans tous les cas moi je suis fan de la programmation, ça risque de pulser assez fort, donc n’hésitez pas à réserver votre samedi 😉

PS: Et je vais faire un article bientôt sur le contenu de notre session avec le père Joubert!