2 Tabellen - rausfinden, welche id nicht genutzt wurde

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

rethus
***
Beiträge: 61
Registriert: Sa, 25.06.2005 13:18
Kontaktdaten:

2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag 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?
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag von Barlee »

Hallo rethus,

benutze den Befehl MINUS

1.Anweisung (alle Vorträge)
MINUS
2. Anweisung (kürzlich gehaltene Vorträge)

Gruß Barlee
rethus
***
Beiträge: 61
Registriert: Sa, 25.06.2005 13:18
Kontaktdaten:

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag 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 ?
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag 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.
rethus
***
Beiträge: 61
Registriert: Sa, 25.06.2005 13:18
Kontaktdaten:

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag 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?
rethus
***
Beiträge: 61
Registriert: Sa, 25.06.2005 13:18
Kontaktdaten:

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag von rethus »

Ach so, ich arbeite an einer MS-Access-Datei, die ich über ODBC anspreche.
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag von Barlee »

...probier mal unter "Bearbeiten" die Option "SQL Kommando direkt ausführen" zu aktivieren. Ändert sich dann etwas?
rethus
***
Beiträge: 61
Registriert: Sa, 25.06.2005 13:18
Kontaktdaten:

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag 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.
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: 2 Tabellen - rausfinden, welche id nicht genutzt wurde

Beitrag 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
Antworten