Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage (https://www.delphipraxis.net/11817-sql-abfrage.html)

Motzi 14. Nov 2003 12:11


SQL Abfrage
 
So, das ist mein erster Beitrag hier in dieser Sparte und allein daran kann man schon erkennen, dass ich (noch) nicht viel Ahnung von Datenbanken hab! (hab erst vor ca. 2 Woche angefangen das erste mal eine simple Datenbank in Access zu erstellen) :oops:

Meine Frage bezieht sich auf eine SQL-Abfrage in Access, hat also eigentlich nix mit Delphi zu tun, hoffe aber dass diese Sparte trotzdem ok ist...

Es geht um folgendes - ich hab hier im Zivi eine Datenbank mit Adressen von Betrieben erstellt bei denen sich die Kursteilnehmer des Institutes bewerben können. Ich hab 3 Tabellen: Gesamtliste (Liste der Betriebe), Teilnehmer (Liste der Teilnehmer), Bewerbungen (Liste der Bewerbungen der Teilnehmer an die Firmen). Diese Tabellen sind untereinander verknüpft (GesamtListe.Adresse <-> Bewerbungen.Adresse - Teilnehmer.Name <-> Bewerbungen.Bewerber). Ich habe es jetzt bereits geschafft eine Abfrage zu erstellen die mir eine Liste aller Bewerbungen inklusive wer sie geschrieben hat und an welche Firma:
SQL-Code:
SELECT [Gesamtliste].[Name], [Gesamtliste].[PLZ], [Gesamtliste].[Ort], [Gesamtliste].[Adresse], [Gesamtliste].[Telefon], [Gesamtliste].[Fax], [Gesamtliste].[Kategorie], [Bewerbungen].[Bewerber], [Bewerbungen].[Datum], [Bewerbungen].[Bemerkungen], [Gesamtliste].[Quelle], [Gesamtliste].[Gruppe]
FROM Gesamtliste, Bewerbungen
WHERE ((([Gesamtliste].[Adresse])=([Bewerbungen].[Adresse])));
Das Problem ist eher eine SQL-Abfrage zu formulieren, die mir alle Betriebe auflistet an die noch keine Bewerbung geschickt wurde...

BTW: wenn jemand einen guten Link zu generellen Infos über SQL hat bin ich auch schon froh! :)

Danke!

Hansa 14. Nov 2003 12:49

Re: SQL Abfrage
 
Das geht ungefähr in diese Richtung:

SQL-Code:
where blabla is null
[edit=r_kerber]Doppeltes Posting gelöscht! Mfg, r_kerber[/edit]

r_kerber 14. Nov 2003 13:01

Re: SQL Abfrage
 
Hallo Motzi,

ich weiß nicht, ob das in ACCESS so geht:
SQL-Code:
SELECT Gesamtliste.Name, Gesamtliste.PLZ, Gesamtliste.Ort, Gesamtliste.Adresse, Gesamtliste.Telefon, Gesamtliste.Fax, Gesamtliste.Kategorie, Gesamtliste.Quelle, Gesamtliste.Gruppe
FROM Gesamtliste
WHERE NOT EXISTS IN
  (SELECT * FROM Bewerbungen WHERE Gesamtliste.Adresse = Bewerbungen.Adresse);

Motzi 14. Nov 2003 15:04

Re: SQL Abfrage
 
Dankeschön..! Werd es am Montag probiern hab jetzt schon Feierabend *freu*! ;)

Motzi 17. Nov 2003 14:10

Re: SQL Abfrage
 
Also so wie du geschrieben hast hat es nicht funktioniert, aber ich hab aufgrund deines Ansatzes ein bisschen in Google gesucht und selbst ein bisschen herumprobiert und bin zu folgendem (funktionierenden ;)) Ausdruck gekommen:
SQL-Code:
SELECT [Gesamtliste].[Name], [Gesamtliste].[PLZ], [Gesamtliste].[Ort], [Gesamtliste].[Adresse], [Gesamtliste].[Telefon], [Gesamtliste].[Fax], [Gesamtliste].[Kategorie], [Bewerbungen].[Bewerber], [Bewerbungen].[Datum], [Bewerbungen].[Bemerkungen], [Gesamtliste].[Quelle], [Gesamtliste].[Gruppe]
FROM Gesamtliste LEFT JOIN Bewerbungen ON [Gesamtliste].[Adresse]=[Bewerbungen].[Adresse]
WHERE Gesamtliste.Adresse NOT IN (SELECT Bewerbungen.Adresse FROM Bewerbungen WHERE Gesamtliste.Adresse = Bewerbungen.Adresse);
Ist die soweit OK? (sie funktioniert zumindest ;)) Oder gibt es Verbesserungsvorschläge o.ä.?

r_kerber 17. Nov 2003 17:24

Re: SQL Abfrage
 
Jaja, Access hat seinen eigenen SQL-Standard. :roll:

Daniel B 17. Nov 2003 20:28

Re: SQL Abfrage
 
Zitat:

Zitat von r_kerber
Jaja, Access hat seinen eigenen SQL-Standard. :roll:

Wie soll man das denn verstehen?

r_kerber 17. Nov 2003 20:37

Re: SQL Abfrage
 
Zitat:

Zitat von Daniel B
Zitat:

Zitat von r_kerber
Jaja, Access hat seinen eigenen SQL-Standard. :roll:

Wie soll man das denn verstehen?

Hast Du schon mal versucht eine mit Access erstellte SQL-Abfrage auf andere DB's anzuwenden und umgekehrt. EIn Beispiel hast Du hier. Dann gibt's da noch die Joker-Zeichen im Like (SQL: % Access: * )...

Daniel B 17. Nov 2003 20:59

Re: SQL Abfrage
 
Nöö, hab ich nicht, werde aber dämnächst mal mit dem Access anfangen, oder ich bleib doch bei dem VBA was Access angeht. :?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz