![]() |
Datenbank: MySQL • Version: 4.1 • Zugriff über: Zeos
SQL-Problem
Hi,
ich hab ein kleines SQL-Problem. Sicher ganz was lapidares wenn man sich auskennt: Ich habe zwei Tabellen und möchte in einem DBGrid den inhalt der Tabelle "auftrag" sowie ein Feld der Tabelle "geraete" anzeigen. In der Tabelle "auftrag" gibt es einen Fremdschlüssel zum Feld GeraeteID in der Tabelle "geraete". Jetzt ist es aber blöd, die ID aus der Gerätetabelle anzeigen zu lassen. Es soll also das Feld "geraete.kurz" im DBGrid dargestellt werden. Ich hab das mit folgender Anweisung versucht:
SQL-Code:
Damit bekomme ich die Datensätze der Auftragstabelle so oft angezeigt wie ich Datensätze in der Gerätetabelle habe.
SELECT * FROM auftrag,geraete WHERE auftrag.techniker =143;
Wie geht das denn richtig? Ich hab noch nicht all zu viel SQL-Erfahrung. |
Re: SQL-Problem
Hi!
Versuche es mal mit einem DISTINCT
SQL-Code:
:-)
SELECT DISTINCT *...
|
Re: SQL-Problem
Du musst das kartesische Produkt einschränken - etwa so:
SQL-Code:
Grüße vom marabu
SELECT *
FROM auftrag, geraete WHERE auftrag.geraete_id = geraete.id AND auftrag.techniker = 143; |
Re: SQL-Problem
@mjenke:
Das hat leider gar nix gebracht. @marabu Funktioniert im Prinzip schon mal, allerdings bekomme ich ja so einen Datensatz erst angezeigt wenn auch ich ihm eine Gerätenummer zugewiesen habe und das ist nicht immer der Fall. |
Re: SQL-Problem
Gut dass du das noch erwähnst - in diesem Fall brauchst du einen OUTER JOIN - so etwa:
SQL-Code:
marabu
SELECT *
FROM auftrag LEFT OUTER JOIN geraete ON auftrag.geraete_id = geraete.id WHERE auftrag.techniker = 143; |
Re: SQL-Problem
PERFEKT!!
Genauso hab ich mir das vorgestellt. Vielen Dank :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz