- Home
- Categorie
- Coding e Sistemistica
- Coding
- Subquery returns more than 1 row
- 
							
							
							
							
							
Subquery returns more than 1 rowNon riesco a capire come mai se nel database vi è un solo record riesco a visualizzare tutti i record associati al primo.. il codice sql è: SELECT * FROM hotel WHERE prezzo <= (SELECT prezzo FROM ricerca) AND categoria = (SELECT categoria FROM ricerca)mentre se provo ad aggiungere degli altri la pagina di visualizzazione mi torna questo: 
 Subquery returns more than 1 rowse qualcuno può darmi una dritta ne sarei grato.. 
 grazie e ciao
 
- 
							
							
							
							
							Ciao paolibo, 
 ma nella tabella ricerca quanti record hai?
 
- 
							
							
							
							
							
ciao, ne ho 10 
 
- 
							
							
							
							
							Il problema è quello dovresti fare restituire un solo record. 
 
- 
							
							
							
							
							
Il problema è che dovrei fare uscire tutti i record della query e non uno.. 
 Comunque grazie mille.
 
- 
							
							
							
							
							Non ho capito cosa devi fare. 
 Puoi spiegarlo un pò più dettagliatamente? Perchè cosi è impossibile capire cosa vuoi fare.
 
- 
							
							
							
							
							
Quello che vorrei fare è semplicemente visualizzare una pagina con tutti i record del database che hanno come filtro il prezzo di ricerca.. 
 Mi spiego meglio..
 pagina di ricerca dove l'utente inserisce nome, tel, mail ecc e prezzo..
 all'invio questi dati vanno nel database (l'ho chiamato ricerca)..
 Se accedo in quella pagina e inserisco un nuovo immobile se il db è vuoto ok visualizzo tutti gli immobili che rispondono al mio criterio di ricerca e cioè "stampami tutti gli immobili che hanno un prezzo minore o uguale a x e contestualmente che siano della categoria uguale (campo categoria delle 2 tabelle)" tradotto in codice:
 SELECT *
 FROM hotel
 WHERE prezzo <= (SELECT prezzo FROM ricerca) AND categoria = (SELECT categoria FROM ricerca)se invece nel database è presente almeno un record, ad ogni inserimento successivo di immobili, la pagina prima citata mi fa vedere il messaggio oggetto del post.. 
 
- 
							
							
							
							
							
e cioè una pagina bianca con scritto: 
 Subquery returns more than 1 row
 
- 
							
							
							
							
							Ma piuttosto che inserire i dati nel database, e dopo recuperarli nuovamente con delle subquery, che sicuramente hanno tempi più lunghi, non potresti semplicemente utilizzare le variabili provenienti dal form nella query e risparmiare queste subquery? 
 Che comunque scritte cosi non hanno molto senso perchè dovrei o prendere sempre l'ultimo valore o specificare l'id della ricerca in maniera tale da prendere un solo record.
 
- 
							
							
							
							
							
Hai perfettamente ragione infatti ho eliminato le subquery anche se il problema che ho avuto si risolveva aggiungendo ANY prima di SELECT.. 
 Grazie mille per la disponibilità