2 Tabellen - rausfinden, welche id nicht genutzt wurde
Moderator: Moderatoren
2 Tabellen - rausfinden, welche id nicht genutzt wurde
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?
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
Hallo rethus,
benutze den Befehl MINUS
1.Anweisung (alle Vorträge)
MINUS
2. Anweisung (kürzlich gehaltene Vorträge)
Gruß Barlee
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
Das verstehe ich nun nicht so ganz.
Könntest du mal einen Beispielbefehl aufschreiben?
So vielelicht
Select * From a Minux select * from b ?
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
Statt des Sterns nimmst Du die Vortrag_ID beider Abfragen. Das Ergebnis listet Dir alle Vortrag_ID, die nicht gehalten wurden.Select * From a Minux select * from b ?
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
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:
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?
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
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
Ach so, ich arbeite an einer MS-Access-Datei, die ich über ODBC anspreche.
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
...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
Also ich hab dieses Kommando:
Und raus kommt (auch bei aktivierter Option "SQL direkt ausführen):
Keine Ahnung woran das liegen soll.
Code: Alles auswählen
Select *
FROM gehaltene_Vortraege
WHERE datum > date_sub("22.08.08", INTERVAL 120 DAY)
Code: Alles auswählen
[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler (fehlender Operator) in Abfrageausdruck 'datum > date_sub([22.08.08], INTERVAL 120 DAY)'.
Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde
Die Frage ist falsch formuliert! Es gibt in Access kein Date_SubGibt es In oobase kein date_sub?
Keine Ahnung woran das liegen soll.
Halte Dich an Funktionen, die in Access zur Verfügung stehen. Konkret DATEADD