MySQL berechnete Spalte im selben query weiterverwenden?

R

RektorSkinner

Gast
Hallo,

ist es möglich eine berechnete Spalte im selben query für weitere Berechnungen zu verwenden?

In etwa so:

SQL:
SELECT A.a + A.b AS ab, ab + A.c AS abc FROM A

Auf diese Weise kriege ich die Fehlermeldung: #1054 - Unknown column 'ab' in 'field list'.

Bei einer simplen Berechnung wie in diesem Beispiel wäre es kein Problem die zweite Spalte im ganzen zu berechnen also A.a + A.b + A.c. Wenn es jedoch komplizierter wird wäre das ganze doch recht fehleranfällig.

Danke im Vorraus
 

Cromm Cruach

Mitglied
Die auswertungsreihenfolge von SQL-Befehlen ist: FROM, WHERE, GROUP BY, SELECT, HAVING, ORDER BY. Die Variable ab ist erst bekannt wenn der KOMPLETTE select abgeschlossen ist.

Lösen könntest du das ganze mit Subselects. Denn die werden von SQL als erstes ausgewertet. Also den Wert AB mit einem Subselect berechnen dann steht er im Hauptselect zur verfügung!
 
R

RektorSkinner

Gast
Erstmal danke für deine Antwort.

Ich habe das ganze jetzt mit Hilfe eines Views, der AB berechnet, gelöst.

Wie gesagt mein eingentlicher Query ist einiges komplizierter als mein Beispiel von oben und der errechnete Wert ist auch an anderen Stellen recht nützlich für mich, daher ist ein View warscheinlich die geschicktere Lösung.

Trotzdem danke, deine Lösung wird mir an anderer Stelle sicher auch weiterhelfen.
 

stone71

Mitglied
Also vielleicht verfehle ich jetzt hier das Thema, aber ich frage mich gerade warum. Sinnvoll ist das ganze in einer Logik mit Subselects, wie schon am Anfang beschrieben. Es ist für mich jedoch nicht ganz einleuchtend, da wir uns hier doch eigentlich in der Anbindung an Datenbanken aus der Sicht von Java befinden!? Wenn ich von dieser Grundlage ausgehe, dann lese ich den Wert a,b,c in Variablen in einer Klasse und rechne danach aus, was ich möchte...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Was genau muss ich bei date eingeben, wenn ich in Java eine Spalte definiere, die date ist? Datenbankprogrammierung 1
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
pkm PostgreSQL Auf eine Spalte kann aus einem Teil der SQL-Aussage nicht zugegriffen werden Datenbankprogrammierung 3
J In einer bestimmten Spalte suchen mit Suchfeld (MS SQL) Datenbankprogrammierung 7
N SQL Datenbank Spalte in Java Array Datenbankprogrammierung 2
G Eine Spalte in xampp als Typ array erstellen - ein array mit "insert" hinzufügen. Datenbankprogrammierung 3
Dimax MySQL Trigger für eine Spalte Datenbankprogrammierung 5
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
S MySQL JTable zeigt nach Datenbankabfrage eine Spalte zu viel an Datenbankprogrammierung 0
L H2 Blob Spalte im Client anzeigen Datenbankprogrammierung 2
D UCanAccess / MS Access - Tabelle / Spalte vorhanden Datenbankprogrammierung 3
B SQL-Statement Prüfen ob eine Spalte einen Wert enthält Datenbankprogrammierung 2
E Wie kann man das Problem mit der BLOB-Spalte lösen? Datenbankprogrammierung 1
E Wie kann man mit einer ID-Spalte über eine Parameterübergabe auf eine Seite verweisen? Datenbankprogrammierung 17
A MySQL Tabelle ID abfragen und Spalte ausgeben Datenbankprogrammierung 4
T SQL-Statement Feld von Fremdschlüsseln als Spalte möglich? Datenbankprogrammierung 4
J Datentyp der Spalte beim Datenbankdesign unbekannt Datenbankprogrammierung 12
N Einzelne Spalte in MySQL-DB-Tabelle schreiben Datenbankprogrammierung 7
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
J Doppelte Daten in Spalte, nur die erste abrufen wie? Datenbankprogrammierung 15
Iron Monkey Insert into Spalte ID AUTO_INCREMENT Datenbankprogrammierung 7
W bestimmte Zeile mit bestimmter Spalte auslesen Datenbankprogrammierung 11
L Derby Dezimal-Spalte die Größe ändern Datenbankprogrammierung 2
J SQL Abfrage: Verschiedene Werte in einer Spalte mit einem Update Befehl? Datenbankprogrammierung 7
T Eintragung in einer Spalte nach Abfrage Datenbankprogrammierung 11
B Doppelte Zeilen einer Doppelten Spalte aus einer Tabelle entfernen. Datenbankprogrammierung 2
S ist DB Spalte Unique ? Datenbankprogrammierung 2
M MySQL: Spalte auf einmal füllen, ohne iterieren zu müssen Datenbankprogrammierung 4
M [Hibernate] Nachträgliches Hinzufügen einer Spalte Datenbankprogrammierung 7
A max Länge einer Spalte Datenbankprogrammierung 2
M Wie auf SQL-Spalte mit mehrdimensionalen Arrays zugreifen? Datenbankprogrammierung 5
T [SQL] Nicht MAX(spalte) sondern FIRST(spalte) Datenbankprogrammierung 23
S SQL: Spalte kopieren plus Wert erhöhen Datenbankprogrammierung 4
E 2 Tabellen anhand eine Spalte zusammenführen? Datenbankprogrammierung 5
J Eintrag aus der Spalte auswählen Datenbankprogrammierung 3
S Index einer editierten spalte? Datenbankprogrammierung 4
R Wie finde ich die längste Spalte der DB heraus Datenbankprogrammierung 2
O eine Tabelle hat mehrere PrimKey mit dem selben Wert Datenbankprogrammierung 9
T [SQL] Doppelter Join aus der selben Tabelle & Feldnnamen Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben