下部のクエリを一般化して、サブグループに特定の値があるすべてのプロジェクトと追加のプロジェクト情報を取得したいのですが、[ProjectFk]を取得できないため、これを機能させることができません。
SELECT
[HeadCount].[ID],
[LinkProjectAreaFk],
[Month1],
[Month2],
[Month3],
[Month4],
[Month5],
[Month6],
[Month7],
[Month8],
[Month9],
[Month10],
[Month11],
[Month12],
[HcYear],
[ApproveDirFk],
[ApproveDirDate],
[FreezeFk],
[freezeDate],
[CDSID],[FreezeTypeFk],
[ApproveDirTypeFk],
[SourcesFk],
[Project].[Title],
[Project].[Title]
FROM
[HeadCount],
[Project]
WHERE
[HeadCount].[LinkProjectAreaFk]
IN
(SELECT
[ID]
FROM
[LinkProject-Area]
WHERE
[SubgroupFk]=1)
and
[Project].[ID]=[LinkProject-Area].[ProjectFk]
次のクエリは機能しますが、1つのプロジェクトに対してのみ、サブクエリからprojectFkを取得するにはどうすればよいですか。これを調べると、不可能であり、左外部結合ではまったく機能しないためです。
SELECT
[HeadCount].[ID],
[LinkProjectAreaFk],
[Month1],
[Month2],
[Month3],
[Month4],
[Month5],
[Month6],
[Month7],
[Month8],
[Month9],
[Month10],
[Month11],
[Month12],
[HcYear],
[ApproveDirFk],
[ApproveDirDate],
[FreezeFk],
[freezeDate],
[CDSID],
[FreezeTypeFk],
[ApproveDirTypeFk],
[SourcesFk],
[Project].[Title],
[Project].[Title]
FROM
[HeadCount],
[Project]
WHERE
[HeadCount].[LinkProjectAreaFk] IN
(SELECT
[ID]
FROM
[LinkProject-Area]
WHERE
[ProjectFk]=90
and
[SubgroupFk]=1)
and
[Project].[ID]=90
あなたが私を助けてくれるか、私を正しい方向に向けてくれることを願っています
敬具
こんにちは私はあなたのやり方を試してきましたが、それでもうまくいきません。マルチパート識別子「MyCTE.ProjectFK」をバインドできませんでした。マルチパート識別子「MyCTE.ID」をバインドできませんでした。私がこれを調べるときのエラーは、私の結合を使用することと関係がありますか?
;WITH MyCTE (ID, ProjectFK)
AS
(
SELECT
ID,
ProjectFk
FROM
[LinkProject-Area]
WHERE
SubgroupFk = 1
)
SELECT
*
FROM
[LinkProject-Area]
INNER JOIN
HeadCount ON [LinkProjectAreaFk] = MyCTE.ID
INNER JOIN
Project ON Project.ID = MyCTE.ProjectFK