Ciao ragazzi, spero che ci sia qualcuno che possa aiutarmi, sto letterelmente impazzendo con una query;
Lo schema è il seguente:
UNO(id_uno, regione, citta, m2, categoria )
DUE(id_due, id_uno, prezzo, stato)
La query deve ritornare la città con il prezzo al m2 più alto.
Io avevo fatto una prima query in questo modo
e così ritorna, funziona, e mi ritorna:codice:
- select avg(prezzo)/avg(m2), citta from UNO natural join DUE where categoria='uso privato' group by citta having avg(prezzo)/avg(m2)>0
essendo prezzo m^2 un tipo numeric, ora dovrei fare la query che seleziona la citta con il prezzo maggiore e in sostanza tutta la query viene così:codice:
- citta | prezzo m^2 -------------------------------- roma | 33.34 -------------------------------- milano | 73.55
Il problema è che facendo in questo modo mi viene un risultato vuto. Non ritorna ne roma ne milano quando dovrebbe venire come risultato milano; sicuramente sbaglio qualcosa. Sinceramente non so più dove sbattere la testa, c'è uacuno che mi può aiutare?codice:
- select avg(prezzo)/avg(m2), citta from UNO natural join DUE where categoria='uso privato' group by citta having avg(prezzo)/avg(m2) >= all ( select avg(prezzo)/avg(m2) from UNO natural join DUE where categoria='uso privato' group by citta )