AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SELECT über 2 Tabellen - Feldzugriff?
Thema durchsuchen
Ansicht
Themen-Optionen

SELECT über 2 Tabellen - Feldzugriff?

Ein Thema von MarcusB · begonnen am 11. Aug 2004 · letzter Beitrag vom 11. Aug 2004
 
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: SELECT über 2 Tabellen - Feldzugriff?

  Alt 11. Aug 2004, 11:46
Zitat von Hansa:
Zitat von SirThornberry:
ich glaube bei den feldnamen im result wird nicht mehr angegeben aus welcher tabelle diese sind da ja bei entsprechender anweisung das Feld in aus beiden tabellen genommen wird und als eine spalte dargestellt werden kann
Wer soll das verstehen ? *singt* Das AS bezieht sich schon auf die Feldnamen. Nicht auf die Tabellennamen !
Dataset.SQL.Text := 'SELECT * FROM tabelle1 AS a, tabelle2 AS b'; Was ist zu tun ? Das AS weglassen. Das AS wird eher verwendet bei Berechnungen. Also gut beides gemischt. Ich brauche einen Wert, der aus 2 Tabellen errechnet wird :

Dataset.SQL.Text := 'SELECT A.NR, A.PREIS, B.MENGE, A.PREIS * B.MENGE AS GESPREIS FROM TABLE1 A, TABLE2 B ORDER BY A.NR');
*auch klugscheißen will* *g*

'AS' sagt nur aus, dass du in der Abfrage einer Spalte einen bestimmten Namen geben willst.
Im SQL Standard darf man 'AS' _NICHT_ für Tabellen aliase verwenden!
Da das TDataSet keine Ahnung von der Tabelle hat, aus der Spalte kommt, musst du die Spalten in der Abfrage eindeutig benennen.

Die 2. Möglichkeit sollte aber tunlichst vermieden werden.

SQL-Code:
SELECT A.Nr as SomeCol
      ,A.Preis "Noch eine Spalte"
      ,B.Menge Miep
      ,A.Preis * B.MENGE as GesPreis
FROM Table1 A
      ,Table2 B
ORDER BY A.Nr
Wesentlich besser ist aber der Zugriff über den Index.
SomeTDataSetDesc.Fields(1).AsInteger Edit: Ich hatte FiledByName(1)!
  Mit Zitat antworten Zitat
 


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 15:42 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