![]() |
Datenbank: MSSQL • Version: 2005 • Zugriff über: direkt
Weiterverwenden eines erechneten Feldes
Hallo zusammen,
wie kann ich ein mit AS erzeugtes Feld weiterverwenden? Das SQL Statement dazu: SELECT EinIntegerFeld as test, test * 5 FROM Tabellenname Wenn ich dieses Statement absetze, erscheint der Fehler Ungültiger Spaltenname 'test'. Vielen Dank für jeden Tipp. |
AW: Weiterverwenden eines erechneten Feldes
versuch es mal so:
Code:
SELECT EinIntegerFeld as test, EinIntegerFeld * 5 as Test2 FROM Tabellenname
|
AW: Weiterverwenden eines erechneten Feldes
Zitat:
Das klappt natürlich, aber das ist nicht das, was ich will. In Wirklichkeit ist wie immer ein wenig komplizierter. Das, was in test drinsteht, wird durch eine sehr umfangreiche case when Struktur innerhalb des vorangehenden SQL Statements errechnet. Sinn der Angelegenheit ist, dass ich es mir spare, diese case when Struktur 10 mal im Code zu wiederholen. Gibt's noch andere Ideen? |
AW: Weiterverwenden eines erechneten Feldes
Dann verwende eine Derived Table:
SQL-Code:
select
test, test * 5 as Test2 from ( SELECT EinIntegerFeld as test FROM Tabellenname ); |
AW: Weiterverwenden eines erechneten Feldes
Du könntest Dir eine Skalarwertfunktion schreiben und in der Abfrage nutzen.
Oder Du erstellst Dir eine gespeicherte Prozedur, dort deklarierst Du eine Variable der Du den berechneten Wert zuweist. Die Variable kannst Du dann im Selectstatemant weiterverwenden |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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