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

    problema JOIN particolare

    Salve

    Ho due tabelle
    TAB1

    COD_FISCALE | DATA | NOMINATIVO | ETC...

    TAB2

    COD_FISCALE | DATA | OPT* | ETC...

    *conterrà solo valori "0" e "1"

    Devo poter mostrare tutti i dati di TAB1 e solamente il valore (0 o 1) di OPT nel caso in cui il campo DATA della TAB2 sia antecedente alla data che considero in TAB1

    es.

    Mostro tutti i dati della TAB1 che hanno come campo "DATA" 02/01/2013, devo poter mostrare anche il campo "OPT" che ha come valore "1" e che abbia come data 01/01/2013 (il giorno prima)


    spero di essere stato chiaro

    grazie!

  2. #2
    Ciao,

    Non so se la data la gestisci come stringa come data o in altro modo, comunque il tuo problema potrebbe essere risolto nel seguente modo (ti scrivo una sorta di pseudocodice per la query omettendo alcune parti)

    codice:
    Tab1 LEFT JOIN Tab2 on Tab1.COD_FISCALE = Tab2.COD_FISCALE 
    WHERE opt = 1 and Tab2.DATA < Tab1.DATA

  3. #3
    Ciao Grazie!

    ho provato, ma mi vengono mostrati solo i record che hanno come OPT = 1

    io vorrei mostrarli tutti...




    grazie

  4. #4
    potresti scrivermi la tua query?

  5. #5
    codice:
    SELECT tab2.opt, tab1.codice_fiscale, tab1.ora_inizio, tab1.ora_termine, TIMEDIFF(tab1.ora_termine, tab1.ora_inizio) AS diff_ore from tab1 LEFT JOIN tab2 ON tab1.codice_fiscale = tab2.codice_fiscale WHERE tab2.opt = "1" AND tab2.data = "01/01/2013";
    mi mostra (correttamente) il solo record che rispetta la condizione WHERE, ma io voglio mostrare tutti i record..

    grazie

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    ci vuole il describe, soprattutto del campo data.

  7. #7
    grazie x l'aiuto

    ho risolto

    attraverso il ricorso ad una UNION della stessa select senza la clausola WHERE



  8. #8
    Ciao posso chiederi di postare la query? mi interessa sapere come si poteva risolvere

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.