2011-01-14 10 views
0

したがって、さまざまな要素と日付を含む表があります。 それは基本的に次のようになります。私は今、すべてのactieElementための最小の日付である必要があるアクセスクエリの各要素の最小日付を取得

actieElement beginDatum 
1    1/01/2010 
1    1/01/2010 
1    10/01/2010 
2    1/02/2010 
2    3/02/2010 

何。 シンプルなGROUP BYステートメントを使って解決策を見つけましたが、クエリがスコープを失って何も変更できなくなりました。

GROUP BYステートメントがないと、特定の日付が同じであるため、actieElementごとに複数の日付が取得されます。

私はこのような何かを考え、それがサブクエリにもっとして1つのレコードを与えるだろうとして、それはまた、動作しません。

SELECT s1.actieElement, s1.begindatum 
FROM tblActieElementLink AS s1 
WHERE (((s1.actieElement)=(SELECT TOP 1 (s2.actieElement) 
      FROM tblActieElementLink s2 
      WHERE s1.actieElement = s2.actieElement 
      ORDER BY s2.begindatum ASC))); 
+0

あなたは「OUもう何も変更することはできません」とまさにあなたが – Mark

+0

MSアクセスをしようとしているが、更新が(明示的または暗黙的のいずれか)加入に問い合わせることはできませんとはどういう意味ですか、の片側結合は更新可能ではありません。このような状況では、一時テーブルを使用しています。他の方法はありません。 – Arvo

答えて

1

この

SELECT s1.actieElement, s1.begindatum 
FROM tblActieElementLink AS s1 
WHERE s1.begindatum =(SELECT MIN(s2.begindatum) 
      FROM tblActieElementLink s2 
      WHERE s1.actieElement = s2.actieElement 
     ); 
-1

があなたにDISTINCT句を追加してみてくださいSELECT。

+0

これは編集可能性を高めることを提案していますか?真剣に? –

+1

編集可能か?あなたは何について話していますか?私は問題の解決に援助を提供しようとしていました。 –

0
SELECT DISTINCT T1.actieElement, T1.beginDatum 
    FROM tblActieElementLink AS T1 
     INNER JOIN (
        SELECT T2.actieElement, 
          MIN(T2.beginDatum) AS smallest_beginDatum 
        FROM tblActieElementLink AS T2 
        GROUP 
         BY T2.actieElement 
       ) AS DT1 
      ON T1.actieElement = DT1.actieElement 
      AND T1.beginDatum = DT1.smallest_beginDatum; 
関連する問題