2012-01-02 14 views
0

で登録しようLEFT OUTERは、私は、次の2つのテーブルを持っているデータセット

SELECT d.DepartmentID, d.DepartmentName, 
     Count(p.ProjectID) AS NoOfProjectsManagedByDepartment 
FROM Departments d LEFT OUTER JOIN Projects p 
    ON d.DepartmentID = p.DepartmentID 
GROUP BY d.DepartmentID, d.DepartmentName 
:のDepartmentID、DepartmentNameとNoOfProjectsManagedbyDepartment

を表示するCrystalレポートは、私は次のクエリを使用してその結果を得ることができます知っています

Crystal Reportsでは、部門とプロジェクトに2つのデータテーブルを持つデータセットを使用します。

私の質問は、2つのDataTableでLEFT OUTER JOINを実行して、Crystal Reportsで必要な結果を表示するにはどうすればいいですか?助けてください。

は、事前にありがとう

答えて

1

理由だけではなく、上記のクエリから作成された単一のDataTableを持っていませんか?ところで、部門名がGROUP BYまたは、より良いの一部のいずれかである必要があり、aggreation機能を持っている

MAX(d.DepartmentName) AS DeptName 

EDIT:

外部結合は、SQLクエリの問題ではない問題ですのDataTablesの。

Shorcutメニューにあるデータベースエキスパート([データベース]> [データベースエキスパート...])を使用します。ここでは、現在の接続(DataSetsではなく)を選択し、「Add Command」を使用します。上記のクエリを入力できるSQLクエリエディタが開きます。

enter image description here

+0

こんにちはOlivier、私はCrystal Reportsの新機能です。上記のシナリオでLEFT OUTER JOINが可能かどうかを知りたかったのです。 – user1126360

0

私はあなたが探しているソリューションは、データセットにDataRelationを追加することであると信じています。

// Fetch the columns in the relationship 
var parentColumn = DataSet1.Tables["Department"].Columns["(DepartmentID"]; 
var childColumn = DataSet1.Tables["Projects"].Columns["(DepartmentID"]; 

// Create the relation 
var relation = new DataRelation("ProjectsDepartments", parentColumn, childColumn); 

// And add it to the dataset 
DataSet1.Relations.Add(relation); 
関連する問題