Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problemi query SQL SERVER!

    Sto creando una query che mi estrapola dati casuali da un DATABASE SQL SERVER. La query x ACCESS era questa...

    codice:
    sql = "SELECT COUNT(*) FROM MARCHE_FURGONI INNER JOIN TIPI_FURGONI ON MARCHE_FURGONI.ID_Marca = TIPI_FURGONI.ID_Marca WHERE TIPI_FURGONI.Disponibilita = -1"
    		Set RS=OBJdbConnection.Execute(sql)
    		
    		Max = RS(0)
    		'response.write(RS(0))
    		Rs.Close
    		Set Rs = Nothing
    		
    		Randomize()
    		Casuale = Int(Rnd() * Max)
    		
    			sql = "SELECT * FROM MARCHE_FURGONI INNER JOIN TIPI_FURGONI ON MARCHE_FURGONI.ID_Marca = TIPI_FURGONI.ID_Marca WHERE TIPI_FURGONI.Disponibilita = -1"
    			Set RS=OBJdbConnection.Execute(sql)
    mentre in SQL SERVER... dovrebbe essere questa...

    codice:
    sql = "SELECT TOP 1 * FROM MARCHE_FURGONI INNER JOIN TIPI_FURGONI ON MARCHE_FURGONI.ID_Marca = TIPI_FURGONI.ID_Marca WHERE TIPI_FURGONI.ID_Tipo >= (rand() * (SELECT MAX(TIPI_FURGONI.ID_Tipo) FROM MARCHE_FURGONI INNER JOIN TIPI_FURGONI ON MARCHE_FURGONI.ID_Marca = TIPI_FURGONI.ID_Marca)) AND TIPI_FURGONI.Disponibilita = -1"
    Set RS=OBJdbConnection.Execute(sql)
    ...solo che così nn funziona, invece se tolgo la condizione TIPI_FURGONI.Disponibilita = -1, va!!

    Come posso ovviare a questo?!?!


    Grazie

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Scusa ma la funzione rand() dovrebbe essere fuori del comando SQL.
    Forse è un caso che funzioni senza la seconda parte della clausola WHERE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.