AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Problem

Ein Thema von buyden · begonnen am 30. Jan 2006 · letzter Beitrag vom 30. Jan 2006
Antwort Antwort
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#1

SQL-Problem

  Alt 30. Jan 2006, 11:51
Datenbank: MySQL • Version: 4.1 • Zugriff über: Zeos
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:
SELECT * FROM auftrag,geraete WHERE auftrag.techniker =143; Damit bekomme ich die Datensätze der Auftragstabelle so oft angezeigt wie ich Datensätze in der Gerätetabelle habe.

Wie geht das denn richtig?

Ich hab noch nicht all zu viel SQL-Erfahrung.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#2

Re: SQL-Problem

  Alt 30. Jan 2006, 11:55
Hi!

Versuche es mal mit einem DISTINCT

SELECT DISTINCT *...
Matthias Jenke
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: SQL-Problem

  Alt 30. Jan 2006, 11:59
Du musst das kartesische Produkt einschränken - etwa so:

SQL-Code:
SELECT *
  FROM auftrag, geraete
  WHERE auftrag.geraete_id = geraete.id
  AND auftrag.techniker = 143;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: SQL-Problem

  Alt 30. Jan 2006, 12:14
@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.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SQL-Problem

  Alt 30. Jan 2006, 12:18
Gut dass du das noch erwähnst - in diesem Fall brauchst du einen OUTER JOIN - so etwa:

SQL-Code:
SELECT *
  FROM auftrag
  LEFT OUTER JOIN geraete ON auftrag.geraete_id = geraete.id
  WHERE auftrag.techniker = 143;
marabu
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: SQL-Problem

  Alt 30. Jan 2006, 12:34
PERFEKT!!

Genauso hab ich mir das vorgestellt.

Vielen Dank
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 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