2015-03-20 1 views
0

J'essaie de tirer des données dans un rapport de cristal à partir de deux bases de données différentes. Ma compréhension est qu'il est possible de tirer des données de deux tables identiques en utilisant une requête UNION, mais mes tables ne sont pas les mêmes. Ils doivent être joints sur une colonne particulière. Par exemple, supposons une table avec EmployeeID et EmployeeName et une deuxième table dans une deuxième base de données avec EmployeeID et EmployeeSalary. Est-il possible de joindre ces tables sur l'ID et de montrer le nom et le salaire de chaque employé?Crystal Reports joignant des tables à partir de différentes bases de données

Répondre

0

Vous devriez pouvoir ajouter les deux bases de données à Crystal dans le menu déroulant 'Base de données' -> Écran 'Définir l'emplacement de la source de données'. Si les deux bases de données existent déjà dans 'Mes connexions', lorsque vous créez un nouveau rapport, dans la page Données, cliquez sur chaque instance de base de données à partir de laquelle vous souhaitez générer le rapport et connectez-vous à chacune.

Pour votre cas spécifique, si vous créez un nouveau rapport. Dans l'écran des données du rapport standard Assistant de création:

  1. Cliquez sur la base de données A, connectez-vous
  2. Déplacer TableX sur les tables sélectionnées
  3. Cliquez sur la base de données B, connectez-vous
  4. Déplacer TABLEY vers la tables sélectionnées
  5. Cliquez sur « Suivant »
  6. dans les liens écran cristal devrait SmartLink les tables en fonction de leur colonne commune, dans votre exemple EMPLOYEEID
  7. Si SmartLink n'est pas associé à EmployeeID, liez manuellement les tables en fonction de la colonne EmployeeID

Il est également possible avec Oracle 9 et plus de créer un DBLink entre les deux bases de données et dans les requêtes sql brutes il suffit d'appeler le dblink avec la syntaxe @dblink comme suit:

select employeename, 
      employeesalary 
    from tablea a 
     inner join [email protected] b 
     on a.employeeid = b.employeeid