私はこのようなテーブルを作ろうとしています:
Manager Expert Adminis. Staff
Dept A.P. | C.P. A.P. | C.P. A.P. | C.P.
Management 1 1 1 0 1 1
Accounting 1 1 1 1 0 0
IT 1 1 2 1 0 0
AP=空きポジション番号 CP=現在ポジション番号
AP は、Positions という名前のテーブルから取得されます。
[Positions](
[id] [numeric](19, 0) IDENTITY(1,1) NOT NULL,
[NumOfAvailablePositions] [int] NULL,
[PositionType] [varchar](255) NULL,
[DepartmentId] [numeric](19, 0) NULL
)
CP は Title テーブルの Title_Names の数です。
[Title](
[id] [numeric](19, 0) IDENTITY(1,1) NOT NULL,
[Title_Name] [varchar](50) NOT NULL,
[Department_Id] [numeric](19, 0) NULL,
[Position_Type] [varchar](255) NULL,
)
要約すると、次の 2 つのクエリの結果を取得しようとしています。
SELECT DepartmentId, PositionType, NumOfAvailablePositions
FROM Positions
SELECT Department_Id, Position_Type, Count (Position_Type) as CurrentPositions
FROM Title group by Department_Id, Position_Type
結果を 1 つのテーブルに結合します (上記を参照)。
次のスクリプトでテーブルを結合してみました。
SELECT Department_Id, PositionType, Count(Position_Type) as PositionCountTitle, Positions.DepartmentId, Positions.NumOfAvailablePositions
FROM Title, Positions
GROUP BY Position_Type, Department_Id, Positions.DepartmentId, Positions.NumOfAvailablePositions
HAVING Title.Department_Id = Positions.DepartmentId
しかし、それは間違った結果をもたらしました。Jasper IReports でこの問題を解決するための推奨事項はありますか?