SQL : Update campo3 condizionale a campo1 e campo 2 ciclati

Buongiorno a tutti.

Sono un principiante e non titolato nell'uso di db SQl ma apassionato di vb. Nell'azienda per cui lavoro (in tutt'altra mansione) dovevano recuperare dati inerenti agli schemi dei prodotti finiti rimasti bloccati nel vecchio gestionale(omisiss) dopo essere passati ad uno nuovo(omisiss). Poichè il db era in access, con l'aiuto di un tecnico che conosceva le macchine e quindi mi ha aiutato ad interpretare i campi il gioco è stato sin troppo facile.

Parlando di esplosioni di distinte, nella tabella che conteneva tutti i livelli delle distinte, oltre a campi di cui non menziono, ci sono 1 campo con i codici padre,1 campo con i codici figlio + un campo che ho inserito io e che chiamiamo Subliv. Ora, Subliv dovrà essere popolato per tutti i record (760.000) con il valore 1 se il codice figlio è presente almeno una voltra nel campo codice padre, e 0 se è assente. Ho fatto una sub in vb con un dataset assciato ma mi risulta che ci vorrebbero più di 100 ore di calcolo!!

Spero di essere stato chiaro: in altri termini devo ciclare tutti i record del campo figlio. Verificare per ognuno che siano presenti o meno nel campo padre. Se risposta positiva allora subliv del codice figlio in esame=1 altrimenti subliv=0.

Ciao a tutti e grazie per eventuale risposta...

 

 

 

In Corso 5
MySql 10-09-2019 1 Risposta 745 Visite +1
andrea longhin

andrea longhin

Autore di questa domanda

Risposte ( 1 approvate )

  1. Giorgio Borelli
    0
    10-09-2019 19:03:11
    Rispondi

    Se usi VB.NET allora molto probabilmente stai parlando di Microsoft Sql Server come data source, giusto? Piuttosto che verificare la presenza del codice figlio tramite codice VB, perché non provi a lanciare una T-SQL query che ne verifichi la presenza con una condizione verificata ad hoc e ne setti eventualmente il valore 1 o 0 direttamente sul campo del DB.

     

    Non conosco il db com'è progettato, ne tantomeno si evince bene dalla tua domanda, ma 100 ore mi sembrano troppe, tuttavvia quella che ti ho suggerito mi sembra una strada quantomeno da provare, prova a dare un'occhiata qui: https://docs.microsoft.com/it-it/sql/t-sql/language-elements/if-else-transact-sql?view=sql-server-2017

     

    Spero ti possa essere di aiuto, ciao.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva