Seite 1 von 1
2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: Sa, 04.10.2008 15:17
von rethus
Ich habe eine Tabelle in der alle verfügbaren Vorträge enthalten sind:
vortrag_id
vortrag_name
Dann habe ich ein Abfrageergebnis, in dem Vorträge aufgelistet sind, die kürzlich Stattgefunden haben:
vortrag_id
redner_name
datum
Nun möchte ich eine Abfrage gestallten, die feststellt, welche Vorträge im letzten halben Jahr NICHT gehalten wurden. Diese Vorträge sollen dann ausgegeben werden.
Wie gehe ich da am besten vor?
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: Sa, 04.10.2008 17:40
von Barlee
Hallo rethus,
benutze den Befehl MINUS
1.Anweisung (alle Vorträge)
MINUS
2. Anweisung (kürzlich gehaltene Vorträge)
Gruß Barlee
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: Sa, 04.10.2008 20:16
von rethus
Das verstehe ich nun nicht so ganz.
Könntest du mal einen Beispielbefehl aufschreiben?
So vielelicht
Select * From a Minux select * from b ?
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: Sa, 04.10.2008 20:50
von Barlee
Select * From a Minux select * from b ?
Statt des Sterns nimmst Du die Vortrag_ID beider Abfragen. Das Ergebnis listet Dir alle Vortrag_ID, die nicht gehalten wurden.
Aber grundlegend wirst Du so ein wenig eigene Recherche mit einbringen müssen.
Schonmal die Suchmaschine Deiner Wahl bemüht?
Suchbegriffe wie SQL MINUS bringen hierzu reichlich Ergebnisse.
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: So, 05.10.2008 14:51
von rethus
Ok, hab es hinbekommen.
Nun knabbere ich an dem Problem, dass ich nur Werte vergleichen möchte, die max bis zu einem halben Jahr zurückliegen.
Dazu hab ich mal versucht folgende (zuerst einfache) Abfrage abzusetzen:
Select *
FROM gehaltene_Vortraege
WHERE datum > date_sub("22.08.08", INTERVAL 120 DAY)
Raus kommt aber nur der Fehler:
Code: Alles auswählen
SQL-Status: HY000
Fehler-Code: 1000
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Gibt es In oobase kein date_sub?
Ich hab schon ne Menge versucht mit der date_sub abfrage, aber ich habe nicht eine einzige Abfrage damit erfolgreich absetzen können.
Habe beim Datum auch versucht CURRENT_DATE, now() und 2 und 4 Stellige Jahreszahlen zu verwenden... dann ohne Anfürungszeichen, einmal in ' einmal in " einmal in ` alles nichts gebracht.
Das Feld datum in gehaltene_vortraege ist vom Typ Datum/Zeit.
Wo liegt da mein Denkfehler?
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: So, 05.10.2008 15:44
von rethus
Ach so, ich arbeite an einer MS-Access-Datei, die ich über ODBC anspreche.
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: So, 05.10.2008 15:58
von Barlee
...probier mal unter "Bearbeiten" die Option "SQL Kommando direkt ausführen" zu aktivieren. Ändert sich dann etwas?
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: So, 12.10.2008 13:30
von rethus
Also ich hab dieses Kommando:
Code: Alles auswählen
Select *
FROM gehaltene_Vortraege
WHERE datum > date_sub("22.08.08", INTERVAL 120 DAY)
Und raus kommt (auch bei aktivierter Option "SQL direkt ausführen):
Code: Alles auswählen
[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'datum > date_sub([22.08.08], INTERVAL 120 DAY)'.
Keine Ahnung woran das liegen soll.
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Verfasst: So, 12.10.2008 14:45
von Barlee
Gibt es In oobase kein date_sub?
Die Frage ist falsch formuliert! Es gibt in Access kein Date_Sub
Keine Ahnung woran das liegen soll.
Halte Dich an Funktionen, die in Access zur Verfügung stehen. Konkret DATEADD