La boîte de dialogue Requête SQL apparaît lorsque vous sélectionnez la commande "Afficher la requête SQL" dans le menu Crystal Reports.
Cette boîte de dialogue affiche la requête SQL que le programme envoie à votre serveur SQL.
La requête peut comporter un ou plusieurs des éléments suivants :
SELECT (Sélectionner)
SELECT répertorie tous les champs utilisés dans le rapport, y compris les champs utilisés dans les groupes, les formules, les totaux, l'ordre de tri, la formule de sélection et les plages.
Dans l'exemple suivant, le rapport utilise les champs "NOM DU CLIENT", "VENTES DE L'ANNEE DERNIERE", "Date de commande" et "Pays" :
SELECT
"Customer"."CUSTOMER_NAME", "Customer"."Last Year's Sales",
"Orders"."Order Date", "Customer"."Country"
FROM (A partir de)
FROM répertorie toutes les tables utilisées dans le rapport et chaque nom de table est suivi d'un nom d'alias.
Dans l'exemple suivant, le rapport utilise les tables Clients et Commandes de la base de données XTREME, et dans chaque cas, le nom d'alias est le même que celui de la table :
FROM
"XTREME"."dbo"."Customer" "Customer"
"XTREME"."dbo"."Orders" "Orders"
INNER JOIN (Jointure interne)
INNER JOIN permet de spécifier les liens existant entre les tables.
Dans l'exemple suivant, les tables "Commandes" et "Clients" sont reliées par le champ "ID client" :
INNER JOIN
"XTREME"."dbo"."Orders" "Orders" ON
"Customer"."Customer ID"="Orders"."Customer ID"
WHERE (Où)
WHERE spécifie les filtres d'enregistrements du rapport.
Dans l'exemple suivant, le rapport est filtré de façon à afficher uniquement les enregistrements du Canada, du Royaume-Uni ou des Etats-Unis :
WHERE
("Customer"."Country"='Canada' OR
"Customer"."Country"='England' OR
"Customer"."Country"='USA')
ORDER BY (Trier selon)
ORDER BY trie les données par ordre alphabétique ou numérique croissant ou décroissant.
Dans l'exemple suivant, les enregistrements sont triés par ordre croissant en fonction de la valeur apparaissant dans les champs "Clients.Pays" et "Clients.NOM DU CLIENT" :
ORDER BY
"Customer"."Country", "Customer"."CUSTOMER_NAME"