Mysql sum fields in where clause

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
AlexanderTheGr
Δημοσιεύσεις: 153
Εγγραφή: 11 Ιούλ 2003 04:22
Επικοινωνία:

Mysql sum fields in where clause

Δημοσίευση από AlexanderTheGr » 21 Μάιος 2009 12:50

Καλημέρα

Εχω το εξης query

Select (sum(field1*field2)) as c from table where c > 100 group by field4

Και βγαζει το εξης error

Unknown column 'c' in 'where clause'

Έχετε καμια ιδεα?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Mysql sum fields in where clause

Δημοσίευση από fafos » 21 Μάιος 2009 16:50

Sto leei to lathos pou sou petaei... "DEN YPARXEI FIELD c MESA STHN VASH SOU"

opos to vlepo, vgale entelos to WHERE kai zhthse mia synthikh sto while pou tha trekseis meta:

Κώδικας: Επιλογή όλων

if($row[c] > 100) { deikse ta analoga apotelesmata} else {asto gia aurio}
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Mysql sum fields in where clause

Δημοσίευση από dva_dev » 21 Μάιος 2009 20:00

Δοκίμασε να κάνεις το εξής:

Κώδικας: Επιλογή όλων

Select (sum(field1*field2)) as c from table  group by field4 having sum(field1*field2) > 100
ή

Κώδικας: Επιλογή όλων

select c from (Select (sum(field1*field2)) as c, field4 from table group by field4) tmp where c > 100
Τσεκάρισε να δείς ποιό είναι πιο γρήγορο και ποιό δεν ζορίζει πολύ την βάση.
Το "field4 έχω την εντύπωση πως μπορείς να το παραλείψεις από το select στο subquery αλλά δεν μπορώ να το δοκιμάσω τώρα.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες