PDA

View Full Version : [mysql] Attribuire un peso ai risultati


das
22-01-2007, 10:33
Praticamente vorrei riuscire ad ottenere qualcosa del genere:

trovami tutti i nomi della tabella nomi, ma se questi rispondono ad un certo requisito mettimi un 1 nella colonna di destra dei risultati.

Esempio:

NOMI

giovanni
marco
maria
federico
michela


Per esempiio impongo come requisito che voglio attribuire un peso 1 a quelli che iniziano per m:

giovanni 0
marco 1
maria 1
federico 0
michela 1


Si può fare?
Mi tornerebbe utile per attribuire un peso diverso a quei risultati che rispondono a certi requisiti.

Avevo pensato anche di usare union e sommare due tabelle. Una cosa così:

select Nomi.Nome,'1' from NOMI where nomi.nome like 'm%'

UNION

select Nomi.Nome,'0' from NOMI where NOT nomi.nome like 'm%';

Ma così spreco un sacco di cicli macchina per fare due volte la stessa cosa, NO?



Grazie, Ciao

andbin
22-01-2007, 10:57
Esempio:

mysql> SELECT *,IF (nome LIKE 'm%',1,0) AS peso FROM nomi;
+----------+------+
| nome | peso |
+----------+------+
| andrea | 0 |
| giovanni | 0 |
| marco | 1 |
| matteo | 1 |
+----------+------+

das
22-01-2007, 11:58
Grazie mille, ieri ho perso la giornata a scervellarmici.

Ciao