Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datenbankabfrage exist (https://www.delphipraxis.net/155180-datenbankabfrage-exist.html)

youuu 12. Okt 2010 09:46

Datenbank: mysql • Version: 5.x • Zugriff über: devart

Datenbankabfrage exist
 
Hi,

ich habe ein kleines Problem.

Ich habe 2 Tabellen



Tabelle 1:

ID
Kundennummer

Tabelle 2:
ID
Kundennummer


Tabelle1.Kundenummer ist natürlich mit Tabell2.Kundennummer verknüpft.

Nun möchte ich herrausfinden welcher Datensatz aus Tabelle1 nicht in Tabelle2 existiert und diesen ausgeben.(können auch mehrere sein)

Sir Rufo 12. Okt 2010 09:51

AW: Datenbankabfrage exist
 
SQL-Code:
select Tabelle1.ID
from Tabelle1
left join Tabelle2 on Tabelle1.ID = Tabelle2.ID
where Tabelle2.ID is NULL

mkinzler 12. Okt 2010 09:52

AW: Datenbankabfrage exist
 
SQL-Code:
Select
    *
from
    tabelle1 t1
where
    not exists ( select id from Tabelle2 t2 where t2.kundennummer = t1.kundennummer);

youuu 12. Okt 2010 09:55

AW: Datenbankabfrage exist
 
Danke warst schneller, hab es gerade auch raus gefunden :)

Hab allerdings noch ein Problem mit der Komponente von Deavart (UniTable)

Wenn ich diesen Code einbauen, macht der mir daraus diesen:

Delphi-Quellcode:
SELECT * FROM `kundendaten AS a LEFT JOIN positionen AS b ON a`.`kd = b`.kd
WHERE b.kd Is NULL
und gibt mir dann natürlich als Fehler inkorrekte Syntax aus


Edit: mit mKinzlers Syntax funktioniert es, aber würde mich trotzdem interessieren wie ich bei UniTable auch die 1. Syntax verwenden kann.

mkinzler 12. Okt 2010 09:57

AW: Datenbankabfrage exist
 
Bei welcher der beiden Lösungen?

Sir Rufo 12. Okt 2010 09:57

AW: Datenbankabfrage exist
 
??? Mach die komische Zeichen da raus

DeddyH 12. Okt 2010 10:01

AW: Datenbankabfrage exist
 
Oder weitere rein (an den richtigen Stellen):
SQL-Code:
SELECT * FROM `kundendaten` AS a LEFT JOIN `positionen` AS b ON a.kd = b.kd
WHERE b.kd Is NULL

youuu 12. Okt 2010 10:29

AW: Datenbankabfrage exist
 
Würde ich ja enn ich die Zeichen gesetzt hätte, aber das hat TUniTable selber getan.

In UniTabel habe ich diesen Code eingegeb:

Delphi-Quellcode:

SELECT * FROM `kundendaten` AS a LEFT JOIN `positionen` AS b ON a.kd = b.kd
WHERE b.kd Is NULL
und UniTable selber hat diese Abfrage daus gemacht:

Delphi-Quellcode:
SELECT * FROM `kundendaten AS a LEFT JOIN positionen AS b ON a`.`kd = b`.kd
WHERE b.kd Is NULL

mkinzler 12. Okt 2010 10:30

AW: Datenbankabfrage exist
 
Warum TUniTable?

Luckie 12. Okt 2010 10:40

AW: Datenbankabfrage exist
 
Was passiert, wenn du die richtigen einfachen Anführungszeichen nimmst?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.
Seite 1 von 2  1 2      

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