Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Darstellung von Spalte unter anderem Namen Fehler (https://www.delphipraxis.net/175963-darstellung-von-spalte-unter-anderem-namen-fehler.html)

T3sla 2. Aug 2013 16:03

Datenbank: MsSQL • Version: 2008 • Zugriff über: ADO

Darstellung von Spalte unter anderem Namen Fehler
 
Hallo!

Was bis vor zwei Tagen funktioniert hat, funktioniert jetzt nicht mehr und ich kann es mir nicht erklären:

Fehlermeldung:Fehler: Ambiguous column name '<Spaltenname in der Datenbank>'

Hat jemand schon so einen Fehler gehabt?, ich sehe ihn zum ersten Mal -.-

jaenicke 2. Aug 2013 16:09

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Das bedeutet, dass du einen Spaltennamen benutzt, der in beiden gejointen Tabellen existiert. Dann musst du angeben aus welcher Tabelle welche Spalte stammt.

Wenn es bisher funktioniert hat, hast du vermutlich eine gleichnamige Spalte in einer der Tabellen hinzugefügt, so dass sie nicht mehr eindeutig ist.

Sprich du kannst schreiben
Code:
select bigTable.MyColumn from MyTable bigTable
inner join ...
Dann ist eindeutig, dass MyColumn aus MyTable kommt.

p80286 2. Aug 2013 16:13

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Ich tippe auf zwei Tabellen die jeweils eine Spalte mit dem gleichen Namen haben
z.B. Tabelle1.ID, Tabelle2.ID
da führt so etwas immer zu Ärger
Zitat:

select ID from ....
darum möglichst den vollständigen Namen verwenden
Zitat:

select Tabelle1.ID from ....

Gruß
K-H

T3sla 2. Aug 2013 16:31

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Wäre ein Grund warum er den Fehler schreiben würde.
Jedoch ist das nicht der Fall bei mir

Hier die Abfrage:

Code:
      'SELECT Auftraege.Auftragsnr as Auftrag, Maschinen.Name as Station '+
      'FROM Auftraege, Maschinen '+
      'WHERE Auftraege.Auftragsnr = '''+Main.Edit_EigeneTvVon.Text+''' '+
        'AND Auftraege.Maschinenstatus = Maschinen.Maschinennr '+
      'ORDER BY Auftragsnr';

mkinzler 2. Aug 2013 16:33

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Bei welcher Spalte? Ich würde (Tabellen-)Aliase verwenden

T3sla 2. Aug 2013 16:43

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Bei der Spalte Auftraege.Auftragsnr.
Dafür das es einmal funktioniert hat, ist es mir wirklich unerklärlich.

Zu 2.: Probier ich aus.

jobo 2. Aug 2013 16:50

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Schätze mal, da hat ein Kollege oder der Hersteller das Feld auch in die Maschinentabelle gezogen.
Muss man ja auchnicht lange raten, einfach die Felder mal ausgeben lassen oder grundsätzlich mit Table Alias arbeiten.

p80286 2. Aug 2013 16:53

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Zitat:

Zitat von T3sla (Beitrag 1223319)
Bei der Spalte Auftraege.Auftragsnr.

Schau Dir mal das
Code:
ORDER BY
an!

Was hat der TabellenAlias damit zu tun???
Gruß
K-H

T3sla 2. Aug 2013 16:53

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Bin grad beim abcheckn.

Aber das komische is, wenn ich die Abfrage mitn Breakpoint anhalte und dann diese in mit SQL Management ausführ zeigt er mirs witzigerweise an :D

T3sla 2. Aug 2013 16:56

AW: Darstellung von Spalte unter anderem Namen Fehler
 
Boah :DD - danke p80286 für deinen Tip ^^ obwohls mich ärgert, dass ich nicht selbst drauf gekommen bin, ist irgendwie auch logisch woher soll er auch wissen nach was er sortiert.

EDIT: Bzw. eine Sortierung brauch ich in meinem Fall eh nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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-2025 by Thomas Breitkreuz