Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Subquery returns more than 1 row
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • P
      paolibo User • ultima modifica di

      Subquery returns more than 1 row

      Non 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 row

      se qualcuno può darmi una dritta ne sarei grato..
      grazie e ciao

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        thedarkita ModSenior • ultima modifica di

        Ciao paolibo,
        ma nella tabella ricerca quanti record hai?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • P
          paolibo User • ultima modifica di

          ciao, ne ho 10

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            Il problema è quello dovresti fare restituire un solo record.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • P
              paolibo User • ultima modifica di

              Il problema è che dovrei fare uscire tutti i record della query e non uno..
              Comunque grazie mille.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                Non ho capito cosa devi fare.
                Puoi spiegarlo un pò più dettagliatamente? Perchè cosi è impossibile capire cosa vuoi fare.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • P
                  paolibo User • ultima modifica di

                  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..

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    paolibo User • ultima modifica di

                    e cioè una pagina bianca con scritto:
                    Subquery returns more than 1 row

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      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.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • P
                        paolibo User • ultima modifica di

                        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à

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        Caricamento altri post
                        Rispondi
                        • Topic risposta
                        Effettua l'accesso per rispondere
                        • Da Vecchi a Nuovi
                        • Da Nuovi a Vecchi
                        • Più Voti