Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zwei Felder aus Tabelle miteinander vergleichen? (https://www.delphipraxis.net/146204-zwei-felder-aus-tabelle-miteinander-vergleichen.html)

kluckweb 15. Jan 2010 14:34


Zwei Felder aus Tabelle miteinander vergleichen?
 
Hallo zusammen,

ich habe gerade irgendwie einen Knoten im Hirn und ich hoffe auf Eure Hilfe.

Ich habe eine Tabelle mit Kundendaten in der auch ein Feld drin ist, wer den Kontakt vermittelt hat. Nun kann es ja sein, dass ein Kontakt mehrere Kontakte vermittelt hat, so dass in dem Feld für die Kontaktvermittlung auch mehrmals dieselbe ID drinstehen kann.

Beispiel:

ID 1
ID 2 vermittelt von 1
ID 3 vermittelt von 1
ID 4 vermittelt von 2

Nun bin ich auf dem Datensatz von ID 1 und möchte gerne wissen welche Kunden er mir alle vermittelt hat und kriege es mit der SQL Abfrage nicht hin.

Könnt Ihr mir evtl. einen Tipp geben wie ich die SQL Abfrage machen muss, damit er mir ausliest bei welchen Datensätzen überall die aktuelle Datensatz-ID drin steht?

Danke für Eure Hilfe.

Jens Hartmann 15. Jan 2010 14:38

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Hallo,

in etwa so müsste das gehen...
SQL-Code:
SELECT KONTAKT FROM KUNDE WHERE KONTAKT = ID
Gruß Jens

kluckweb 15. Jan 2010 14:45

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Danke für die schnelle Antwort. Aber so dürfte es eigentlich nicht gehen.

Wenn ich

SQL-Code:
SELECT vermittelt_von from Kunden where vermittelt_von = id
nehme, dann bleibt die Tabelle leer. Denn das Datensatzfeld ID kann ja nie gleich dem Wert in vermittelt_von sein. Sonst hätte sich ja jemand selbst empfohlen.

Jens Hartmann 15. Jan 2010 14:50

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Das ist schon klar.

Du musst natürlich für ID entweder einen Parameter oder z.B. was weiß ich...
SQL-Code:
SELECT vermittelt_von from Kunden where vermittelt_von = 'HEINZ SCHMIDT'

SELECT vermittelt_von from Kunden where vermittelt_von = +Edit1.Text //in Delphi verarbeiten. Edit.Text geht so nicht

SELECT vermittelt_von from Kunden where vermittelt_von Like 'M%'

SELECT vermittelt_von from Kunden where vermittelt_von = 1
Oder so ähnlich.

Gruß Jens

p80286 15. Jan 2010 14:56

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Es ist ja ganz hilfreich, wenn Du die betroffenen Tabellen kurz vorstellst, in letzter Zeit wurde die "Kristallkugel" nicht so oft bemüht, aber entgegen anderslautenden Gerüchten, sie gehört nicht zur Grundausstattung von Programmierer, Servicetechnikern u. ä. Menschen.

Gruß
K-H

kluckweb 15. Jan 2010 14:58

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Soweit auch klar. Es soll nur so laufen, dass er mir jeweils die Kunden auflistet, die mir der angezeigte Kunde vermittelt hat.

Also wie schon beschrieben:

Wenn ich auf dem Datensatz ID 1 bin sollte er mir die IDs 2 und 3 anzeigen und das ohne zusätzliche Eingabe des Benutzers.

@K-H: Es ist eine Tabelle in der ein Feld ID AutoInc drin ist, dann die Kontaktdaten und dann das Feld vermittelt_von.

Sieht ungefähr so aus:

ID Name vermittelt_von
1 Schmitz
2 Müller 1
3 Meier 1
4 Schmidt 2

mkinzler 15. Jan 2010 15:01

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Du musst es nicht eingeben, sondern kannst diese ja aus der angezeigten Datenmenge auslesen bzw, eine Master/Detialbeziehung aufbauen

kluckweb 15. Jan 2010 15:13

Re: Zwei Felder aus Tabelle miteinander vergleichen?
 
Danke, so geht es. War nur verwirrt, weil Delphi mir keine Felder dort anzeigte. Aber im laufenden Betrieb zeigt er nun alles an. Danke nochmals.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 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