Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie per la disponibilità Luca.
    Guidino

  2. #12
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Io parto dal presupposto che tu richiami la query conoscendo l'id del lavoro svolto

    Questa dovrebbe andare


    codice:
    select l.*, t.* from lavori l left join tariffe t using(id_utente)
    where abs(datediff(l.data, t.data)) =
    (
    select min(abs(datediff(l.data, t.data))) as datediff 
    from lavori l left join tariffe t using (id_utente)
    where l.id_lavoro = 2
    ) 
    and  l.id_lavoro = 2
    L'unico problema è che se ci sono due giorni a distanza equivalente (ad esempio data lavoro 15/2, con una tariffa il 20 e una il 10) ti usciranno due righe

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie Luca,
    sei stato di parola, non ci sarei mai arrivato.
    Il problema delle due righe in caso di equidistanza basta saperlo.

    Provo la tua query su una tabella con un pò di record per testarne anche la velocità.
    Che tu sappia abs e datediff incidono sulla velocità della query?

    Vi ringrazio molto per il prezioso aiuto
    Guidino

  4. #14
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da guidino

    Che tu sappia abs e datediff incidono sulla velocità della query?
    Le funzioni no. Semmai la subquery potrebbe incidere

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 © 2025 vBulletin Solutions, Inc. All rights reserved.