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 2 von 2     12   
Delphi-Coder

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

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 11:08
Eine DB-Aenderung von diesem Ausmass halte ich persoenlich zu diesem Zeitpunkt noch fuer vertretbar. Ich werde mal sehen, was sich da machen laesst!
Allerdings wuerde ich eine reine SQL-Server-Loesung (ohne DB-Aenderung) vorziehen. (z. bsp. ueber eine StoredProcedure)

Gruesse
Delphi-Coder
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#12

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 11:41
Beim MSSQL kannst du das so machen ...

SQL-Code:
  // Leeren String deklarieren
  declare @SQL varchar(1000)
  // Die Variable "@Field" (für gewünschten Feldnamen) deklarieren
  declare @Field varchar(50)

  // Die Variable "@Field" mit Feldnamen füllen
  SELECT @Field='Vorname'


  set @SQL = 'Select '+@Field+' from Adressen'

  Exec(@SQL)

  MSSQL führt dann SELECT Vorname FROM Adressen aus :zwinker:
Damit kannst du dir eine SP basteln.
Eine Alternative zur SP wäre eine Funktion (mit RETURNS TABLE), die du dann via SUB-SELECTS einbindest




Schöne Grüße,
Jens

  Mit Zitat antworten Zitat
Delphi-Coder

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

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 11:51
@jensw_2000 Vielen Dank! Ich kann es leider erst heute abend probieren. Aber nur fuer den Fall, dass ich damit ueberhaupt nicht klarkomme: Wie funktioniert denn das mit der Funktion und den Sub-Selects?

Viele Gruesse
Delphi-Coder
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#14

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 12:06
Kann es auch grade nicht testen
theoretisch aber so ...


SQL-Code:
-- eine Funktion erstellen, die dir eine virtuelle Tabelle zurückliefert

CREATE FUNCTION DynamicSQL (@Fieldname VARCHAR(20),@Tablename VARCHAR(40))
  RETURNS TABLE
AS
  -- SQL STRING
  declare @SQL varchar(1000)

  -- Funktionsparameret "verbauen"
  set @SQL = 'Select '+@Fieldname+' from '+@Tablename

  RETURN Exec(@SQL)

Aufruf ...

SELECT * FROM DynamicSQL(@Fieldname=(Select IrgendwasPlausibles FROM TABELLE A), @Tablename='Adressen')
Schöne Grüße,
Jens

  Mit Zitat antworten Zitat
Delphi-Coder

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

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 12:13
Erstmal Danke! So auf die Schnelle steige ich da nicht hinter! Aber ich werde mich heute abend ausgiebig damit beschaetigen!
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#16

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 12:14
Falls das RETURN EXEC(@SQL) nicht functionieren sollte, must du eine
temporäre Tabelle erstellen, füllen, ausgeben und wieder Droppen ....



SQL-Code:
  EXEC (@SQL)
    INTO #TempTable

  RETURN #TEMpTable
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

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

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 13:47
Nun - was von dem DB-Design zu halten ist, weißt Du ja nun - hier eine Lösung ohne Stored Procedure:
SQL-Code:
    SELECT Kat.Klasse
         , Kat.Gruppe
         , CASE Kat.Gruppe
             WHEN 'normale Fahrstunde'   THEN P.fahrstunde
             WHEN 'Autobahnfahrt'        THEN P.autobahn
             WHEN 'Fahrt bei DunkelheitTHEN P.dunkelheit
             WHEN 'Landstrassenfahrt'    THEN P.landstrasse
           END AS Preis
      FROM Tabelle1 Kat
INNER JOIN Tabelle2 P
        ON P.Klasse = Kat.Klasse
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
jensw_2000
(Gast)

n/a Beiträge
 
#18

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 13:58
@Leuselator
Wie immmer eine einfache und brilliante Lösung ...
Warum komme ich nie auf sowas ?


Schöne Grüße,
Jens

  Mit Zitat antworten Zitat
Delphi-Coder

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

Re: SQL-Abfrage ueber 2 Tabellen

  Alt 15. Feb 2005, 15:28
Vielen Dank fuer die Loesung! Es funktioniert!

Ich werde aber die DB-Aenderung versuchen durchzusetzen!

Gruss aus Dubai,
Delphi-Coder
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:43 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