0

このクエリを実行すると、次のようになります。

SELECT DISTINCT r2.ApplicationBK,
                max(r2.DatumApplication) maxdatum,
                p.Name
FROM FCT_Recruitment r2,
     DIM_WervingsProject wp,
     DIM_Persoon p
WHERE r2.WervingsProjectID = wp.WervingsProjectID
  AND r2.PersoonID=p.PersoonID
GROUP BY ApplicationBK,
         p.name

名前は TALBLE DIM_PERSOON P に表示され
ます 「ApplicationBK」は DIM_Wervingsproject に表示され
、すべての日付 (DatumAppliocation) は FCT_Recruitment に表示されます

BK  -  Date - Name 
012    20-03-1999  - name1 
023    21-03-1999  - name1 
033    22-03-1999  - name1 
112    20-03-1990  - name2 
123    20-03-1999  - name2 
133    20-03-1990  - name2

しかし、私は各名前の最高の日付が必要です..したがって、各名前は、対応する ID (ApplicationBK) と日付を持つ「名前列」に一度だけ立つことができます。休む必要はありません。

これがうまくいかなかったとき、私は別のことを試しました...

SELECT WervingsprojectBK,
       r.ApplicationBK,
       p.Name,
       count(*) number,upper(r.StatusWP) status,
                       upper(r.StatusApplication)statusdetail,
                       r.DateApplication 
FROM FCT_Recruitment AS r,
     DIM_WervingsProject wp,
     DIM_Persoon p
INNER JOIN
  (SELECT DISTINCT r2.ApplicationeBK,
                   max(r2.DateApplication) maxdatum
   FROM FCT_Recruitment r2,
        DIM_WervingsProject wp,
        DIM_Persoon p
   WHERE r2.WervingsProjectID=wp.WervingsProjectID
     AND r2.PersoonID=p.PersoonID
   GROUP BY ApplicationBK) AS r2 ON (r.ApplicationBK=r2.ApplicationBK
                                     AND r.DateApplication=r2.maxdatum)
GROUP BY WervingsprojectBK,
         r.ApplicationBK,
         p.Naam,
         r.StatusApplication,
         r.StatusWP
ORDER BY 5

しかし、その後、これらのエラーが発生します..:

メッセージ 4104、レベル 16、状態 1、行 3 マルチパート識別子 "r.ApplicationBK" をバインドできませんでした。メッセージ 4104、レベル 16、状態 1、行 3 マルチパート識別子「r.DateApplication」をバインドできませんでした。

この新しい人を助けてください..ありがとう。

4

2 に答える 2

0

代わりにこれを試してください:

select 
  r2.ApplicationBK, 
  r22.maxdatum, 
  p.Name
from FCT_Recruitment r2
INNER JOIN
(
  SELECT WervingsProjectID, max(r2.DatumApplication) maxdatum
  FROM FCT_Recruitment
  GROUP BY WervingsProjectID
) AS r22  ON r2.WervingsProjectID = r22.WervingsProjectID
         AND r2.DatumApplication  = r22.maxdatum
INNER JOIN DIM_WervingsProject AS wp ON r2.WervingsProjectID = wp.WervingsProjectID
INNER JOIN DIM_Persoon         AS p  ON r2.PersoonID         = p.PersoonID;
于 2013-03-28T10:09:14.070 に答える
0

これを試して。列名を変更します。

SELECT max(r.AllDate),r.ProjectID,p.name 
FROM FCT_Recruitment r,DIM_Wervingsproject pr, DIM_PERSOON p 
where p.PID=r.PID and r.ProjectId=pr.ProjectID 
group by r.PID;
于 2013-03-28T11:17:43.000 に答える