Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access SQL-Statement - Zeilen vergleichen





Frage

Hallo liebe Community, ich habe ein Problem bei der Formulierung eines SQl-Statements. Folgendes Problem: Ich habe folgende Tabelle: Auftragsnummer | Kunde | Bestelldatum | Menge | Artikel 10001 | A | 10.01.2008 | 2 | X 10002 | B | 11.01.2008 | 3 | Y 10003 | A | 11.01.2008 | 1 | X 10004 | C | 12.01.2008 | 5 | Z 10005 | B | 14.01.2008 | 3 | Y Nun exisitiert intern die Regelung, dass alle Bestellungen des gleichen Artikels vom selben Kunden sog. Nachbestellungen sind, wenn dies innerhalb eines Zeitraumes von max. 6 Wochen der Fall ist. Hab ich mir gedacht, ich ergänze meine Tabelle um eine Spalte "Nachbestellung". So nun meine Frage: mit welchem SQL-Statement kann ich dieses Merkmal, wenn es zu trifft, auf True setzen? Damit das Ergebnis so aussieht: Auftragsnummer | Kunde | Bestelldatum | Menge | Artikel | Nachbestellung 10001 | A | 10.01.2008 | 2 | X | [ ] 10002 | B | 11.01.2008 | 3 | Y | [ ] 10003 | A | 11.01.2008 | 1 | X | [ x ] 10004 | C | 12.01.2008 | 5 | Z | [ ] 10005 | B | 14.01.2008 | 3 | Y | [ x ] Freue mich sehr, über nützliche Anregungen... Ach ja, ich nutze Access2003 - falls das irgendeine Relevanz hat. :) Thanks a lot! Christian

Antwort 1 von lorf55

Hallo Christian,
versuchs mal hiermit als erste Anregung:
UPDATE Bestellung SET Nachbestellung = TRUE
WHERE EXISTS (
  SELECT  B.Kunde 
  FROM Bestellung As B 
  WHERE (  
     (Bestellung.Bestelldatum>B.Bestelldatum)
         AND ( Bestellung.Bestelldatum<=DateAdd("ww",6,B.Bestelldatum)) )
     AND (B.Artikel=Bestellung.Artikel) 
     AND (B.Kunde=Bestellung.Kunde) 
)

Damit sind Nachbestellungen am gleichen Tag allerdings keine Nachbestellungen.

Gruß
lorf