2010-11-18 27 views
1

J'ai une question (my) SQL. Si j'ai une table, disons appelées Cars avec différentes colonnes, dont deux sont INT que je veux ajouter ensemble, l'une appelée backwheels et l'autre appelée frontwheels.Requête de sélection MySQL, en sélectionnant l'emplacement d'une colonne générée à la volée

Je peux faire cette requête pour les ajouter ensemble lorsque je sélectionne

select (backwheels+frontwheels) as totalwheels from Cars;

qui fonctionne très bien, mais quand je tente de faire une sélection où sur cette totalwheels colonne, je reçois une erreur

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

l'erreur je reviens:

Unknown column « totalwheels » dans 'où clause

Est-il possible de choisir en quelque sorte d'une colonne qui n'existe pas vraiment comme ça?

Répondre

0

Cette erreur est due au fait que votre table n'a pas de colonne "totalwheels" et que votre clause where essaie d'exécuter une condition sur une colonne qui n'existe pas.

Vous pouvez essayer d'utiliser -

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

Vous pouvez utiliser:

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

OU:

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

Des trucs géniaux, merci pour votre aide. –

-2

mieux essayer avec Alias:

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

-1 cela ne fonctionne pas – Patrick