PDA

View Full Version : MySql - subquery


io78
06-07-2005, 14:48
Ciao a tutti :-)

ho un problema con le subquery in MySql

io ho la sequente query :read:
select *
from tab1
where field1 = (select min(field1)
from tab1
where idx = val1);

e mi da errore.

Forse sbaglio a scrivere la query ma nn riesco a trovare l'errore!! :muro:

p.s Sò che nelle versioni precedenti la 4.1 le subquery davano problemi ma non so come faccio a vedere la mersione del mio MySql (uso MySqlMaestro/MySql Manager)


Luca '78

.Leoollie
06-07-2005, 14:58
Ehila... prova a mettere IN al posto che "="

select *
from tab1
where field1 IN (
select min(field1)
from tab1
where idx = val1);

Non so.. mi ricordo vagamente le cose fatte in Access.. se non è cosi mi scuso. :)

DarkMic
06-07-2005, 15:08
se ti da errore di sintassi, devi mettere l'alias nelle tabelle

Es.

Select a.nome
From table a
where a.id = (select a.id from table b where qualcosa)

importante sono a e b = alias della tabella

alias b è visibile solo nella sottoquery, metre a in tutta la query

mailand
06-07-2005, 16:19
non vorrei dire una castronata, ma se non ricordo male mysql non accetta le subquery...

io78
06-07-2005, 16:24
Ciao,

grazie a tutti ma come sospettavo era un problema di versione
non era la 4.1 quella installata sulla macchina su cui lavoravo ma la 4.0 che non supporta le subquery

:muro:

mailand
06-07-2005, 16:27
già che mi viene in mente potresti provare ad usare la sintassi minus...

maulattu
06-07-2005, 16:56
la 4.0 non supporta le subquery, dalla 4.1 sì.
ti consiglierei (come già detto poco sopra) di usare l'uguale e l'alias per le tabelle... :read: