AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-Abfrage ueber 2 Tabellen
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Abfrage ueber 2 Tabellen

Ein Thema von Delphi-Coder · begonnen am 15. Feb 2005 · letzter Beitrag vom 15. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
Delphi-Coder

Registriert seit: 8. Jan 2003
Ort: Greifswald / Stralsund
151 Beiträge
 
Delphi 7 Enterprise
 
#1

SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 07:54
Datenbank: MS SQL-Server • Version: 2000 • Zugriff über: ADO
Guten Morgen,

ich steh gerade ein wenig auf'm Schlauch bezueglich einer SQL-Abfrage. Vielleicht koennt ihr mir ja helfen!
Ich habe eine Tabelle 1 mit einer Spalte "Klasse" und eienr Spalte "Gruppe", diese Spalte enthaelt gewisse Werte. Und dann habe ich eine Tabelle 2, die die Spalten "a", "b", "c", "d" und "klasse" enthaelt. In diesen Spalten werden Preise abgelegt.

Nun zu dem Problem: Ich will, dass per SQL aus der Tabelle 1 die Spalten "Gruppe" und "Klasse" wiedergegeben werden. Und: jenachdem, was in Spalte "Gruppe" der Tabelle 1 steht, soll die entsprechende Spalte in Tabelle 2 angesteuert werden und der Preis dazu ausgelesen werden. (Das Ganze dann natuerlich noch mit Tabelle1.Klasse = Tabelle2.Klasse!).

Die Schwierigkeit liegt u.a. darin, das die Werte in der Spalte "Gruppe" der Tabelle 1 nicht genau so lauten, wie die Spalten (a-d) in Tabelle 2!

Gibt es da irgendwie eine Moeglichkeit, das trotzdem per SQL zu machen?

(Ich hoffe, ich hab mich jetzt verstaendlich ausgedrueckt! Und sorry, wenn der Titel ein wenig nichtssagend ist - wusste nicht, wie ich es kurz beschreiben sollte!)

Vielen Dank schonmal fuer eure Muehe!

Gruss,
Delphi-Coder
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 07:57
Zitat von Delphi-Coder:
Die Schwierigkeit liegt u.a. darin, das die Werte in der Spalte "Gruppe" der Tabelle 1 nicht genau so lauten, wie die Spalten (a-d) in Tabelle 2!
Und genau darin liegt das Problem. Außerdem, du willst also wenn in "Gruppe" der Wert "Gemüse" steht, willst du auf Spalte "a", wenn der Wert "Obst" steht, dann auf Spalte "b" usw.? AFAIK ist das mit SQL nicht möglich, das musst du in deinem Programm lösen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Delphi-Coder

Registriert seit: 8. Jan 2003
Ort: Greifswald / Stralsund
151 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 08:09
Hmm... OK! Habe ich mir schon fast gedacht! Aber trotzdem Danke!
  Mit Zitat antworten Zitat
Xabbu

Registriert seit: 30. Jun 2004
Ort: Bremen
10 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 08:15
Hmmmm... also mit reinem SQL hast du da in der Tat schlechte Karten. SQL ist ja eine mengenorientierte Sprache und sieht kein Fallunterscheidungen vor. Die von dir gewünschte Logik mußt du also entweder in deinem Programm nachbauen oder über Stored Procedures des MSSQLServer realisieren.
  Mit Zitat antworten Zitat
Delphi-Coder

Registriert seit: 8. Jan 2003
Ort: Greifswald / Stralsund
151 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 08:18
Mit StoredProcedures kenne ich mich uebrhaupt nicht aus! Haettet ihr/du da vielleicht ein kleines Beispiel, an dem ich das nachbauen koennte?
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#6

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 08:40
gib mal bitte Beispieldaten - 2 Zeilen aus Tabelle 1, 4 aus Tabelle 2 - dann kann man eher helfen
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Delphi-Coder

Registriert seit: 8. Jan 2003
Ort: Greifswald / Stralsund
151 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 09:04
Ok, kein Problem!

Code:
Tabelle 1:

Klasse  Gruppe
============================
   A    normale Fahrstunde
   A    Autobahnfahrt
   B    normale Fahrstunde
   B    Fahrt bei Dunkelheit


Tabelle 2:

Klasse  fahrstunde  autobahn  dunkelheit  landstrasse
=========================================================
   A      11,00       13,00       11,00        13,00
   B      12,00       15,00       12,00        14,00
So! Nun sollte zu jedem Wert der Spalte "Gruppe" aus Tabelle 1 der passende Preis aus Tabelle 2 geholt werden! (die Klassen muessen natuerlich uebereinstimmen!)
Ich hab dieses beispiel gewaehlt, weil es vielleicht etwas anschaulicher ist!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#8

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 09:21
Hallo Delphi-Coder,

so wie du die Tabellen jetzt hast wird das nichts.
Ein Vorschlag: definier dir eine Tabelle mit einer ID und den Bezeichnungen Gruppen:
Code:
ID   Name
1     Fahrstunde
2     ...
Zweite tabelle wird deine jetzige Tabelle 1, allerdings wird statt dem Gruppenname die ID aus der vorherigen Tabelle abgespeichert.

Tabelle 2 beinhaltet 3 Spalten:
Code:
Klasse Gruppe Preis
A      1       11
...
Beim Select musst du dann nur noch sagen
SELECT Preis FROM Tabelle2 WHERE Tabelle1.Klasse=Tabelle2.Klasse and Tabelle1.Gruppe=Tabelle2.Gruppe Und das wars dann auch schon.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Delphi-Coder

Registriert seit: 8. Jan 2003
Ort: Greifswald / Stralsund
151 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 09:25
@alcaeus Vielen Dank fuer den Vorschlag! Leider habe ich die DB so vorgegeben und kann sie erstmal nicht aendern! Ich werde deinen Vorschlag aber im Hinterkopf behalten!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 10:59
Hallo Delphi-Coder,

ich würde den Vorschlag nicht nur im Hinterkopf behalten, sondern evtl. vorschlagen/erzwingen. Wenn ihr jetzt noch eine Autobahnfahrt bei Dunkelheit braucht, dann müsst ihr wieder das DB-Layout ändern (neue Spalte), und das Programm anpassen. Bei meinem Vorschlag müssen nur noch 2-3 Records eingetragen werden, und das wars auch schon wieder.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:12 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