• User

    aspnet: confronto campi e condizioni

    Salve a tutti, spero di non aprire un thread nel posto sbagliato.
    Il mio è un quesito, un vero problema, che mi trascino da qualche giorno. Dovrei confrontare due campi posti in due tabelle diverse e se il valore iscritto in essi sono uguali devo inserire, in un terzo campo della Tabella 2, il valore "1" (se c'è corrispondenza ) o altrimenti "0". Ho provato con istruzioni SQL e poi codice con la condizione "If", ma nulla. Grazie


  • User Attivo

    Devi avere una chiave di collegamento fra le 2 tabelle per poter fare una inner join altrimenti non si può fare.
    Questo ammesso che la tabella 2 sia un'estenzione della tabella 1.
    Non c'è nessun collegamento tra le 2 allora il discorso cambia e anche la query per l'aggiornamento.
    Incolla la struttura qui


  • User

    @FuSioNmAn said:

    Devi avere una chiave di collegamento fra le 2 tabelle per poter fare una inner join altrimenti non si può fare.
    Questo ammesso che la tabella 2 sia un'estenzione della tabella 1.
    Non c'è nessun collegamento tra le 2 allora il discorso cambia e anche la query per l'aggiornamento.
    Incolla la struttura qui

    Ciao, ti ringrazio, innanzitutto per avermi risposto, mi sono un pò documentato e sono giunto alla conclusione che per ottenere il risultato sperato, sul mio sito, devo applicare T-SQL. Comunque ti ringrazio per l'offerta di aiuto e se conosci qualche guida on line (soprattutto sulla parte "condizionale") con esempi già pronti te ne sarei molto grato. Saluti


  • User Attivo

    Se parli di t-sql allora stai parlando di sql-server e quindi store procedure.
    Li puoi fare quello che ti pare ma potrebbe essere sufficiente anche una semplice query senza scomodare complesse (e spesso più lente) procedure.
    Senza conoscere la struttura è un po difficile ipotizzare.

    Per quanto riguarda le guide non saprei dirti ma da un semplice search (tipo guida t-sql) dovrebbero uscirne a bizzeffe.

    Ciao 😉


  • User

    @FuSioNmAn said:

    Se parli di t-sql allora stai parlando di sql-server e quindi store procedure.
    Li puoi fare quello che ti pare ma potrebbe essere sufficiente anche una semplice query senza scomodare complesse (e spesso più lente) procedure.
    Senza conoscere la struttura è un po difficile ipotizzare.

    Per quanto riguarda le guide non saprei dirti ma da un semplice search (tipo guida t-sql) dovrebbero uscirne a bizzeffe.

    Ciao 😉

    Ciao, ho provato a modificare le stringa sql per cercare la soluzione ma nulla, te la riporto:

    
    update giocate 
    set risu1 = " " 
    Join 
    risultati on giocate.giocata_id = risultati.id
    Case risultati.risul1
    when= giocate.part1 then= 1
    else= 0
    end
    
    

    Il DB è su SQL Server,
    in pratica nella tabella "giocate" ho un campo (risu1) vuoto che deve essere riempito a secondo se il campo part1 della stessa tabella è uguale al campo risul1 della tabella "risultati".
    Per quanto riguarda T-sql, con esso è possibile (se ho capito!) rendere l'esecuzione di una istruzione sql automatica, con la possibiltà di renderla autonoma dal codice della pagina aspx. Grazie ancora per l'aiuto (come avrai capito sono a livello di "little dummies") , saluti


  • User Attivo

    Allora se ho capito bene non ti dovrebbe servire T-sql ma basterebbe una subquery semplice.
    Quello che sto per scrivere vale se il campo risu1 è di tipo int

    Innanzitutto setta risu1 a 0 per tutti i record:

     update giocate set risu1=0
    

    poi fai

     update giocate set risu1=1 where part1 in (select risul1 from risultati)
    

    non l'ho provato ma dovrebbe funzionare se non sono fuso dalla giornata di lavoro 😄


  • User

    Fuziona perfettamente grazie. Ti sono veramente grato. ciao