2010-11-18 14 views
1

Ich habe eine (meine) SQL-Frage. Wenn ich einen Tisch habe, sagen wir Cars mit verschiedenen Spalten, von denen zwei INT sind, die ich zusammenzählen möchte, eine sogenannte Backwheels und die anderen Vorderräder genannt.MySQL Abfrage auswählen, wo aus einer Spalte im laufenden Betrieb

kann ich diese Abfrage tun, um sie zusammen zu fügen, wenn ich

select (backwheels+frontwheels) as totalwheels from Cars;

wählen, die gut funktioniert, aber wenn ich versuche und mach einen wählen, wo auf der Spalte totalwheels, erhalte ich einen Fehler

select (backwheels+frontwheels) as totalwheels from Cars where totalwheels=4;

der Fehler bekomme ich zurück:

Unbekannte Spalte ‚totalwheels‘ in ‚where Klausel‘

Ist es möglich, aus einer Spalte irgendwie auszuwählen, die wirklich nicht wie diese existieren?

Antwort

0

Dieser Fehler wird verursacht, weil Ihre Tabelle keine Spalte "totalwheels" hat und Ihre WHERE-Klausel versucht, eine Bedingung für eine Spalte auszuführen, die nicht vorhanden ist.

Sie können mit versuchen -

select (backwheels+frontwheels) as totalwheels from Cars where (backwheels+frontwheels)=4; 
3

Sie verwenden können:

select (backwheels+frontwheels) as totalwheels from Cars 
where (backwheels+frontwheels)=4; 

OR:

SELECT * from 
(select c.*, (backwheels+frontwheels) as totalwheels from Cars) 
where totalwheels=4; 
+0

Tolles Zeug, danke für deine Hilfe. –

-2

Bessere Versuch mit Alias:

select (c.backwheels+c.frontwheels) as totalwheels from Cars as c where totalwheels=4; 
+0

-1 das funktioniert nicht – Patrick

Verwandte Themen