Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    recuperare record singoli in una relazione uno a molti

    supponiamo che io abbia una tabella con dei codici:
    codice:
    Tabella codici:
    
    Codice
    00544
    55478
    87163
    11787
    85656
    ed inoltre una tabella con qualche milione di record che contiene nel campo codice i codici che mi interessano, e che contiene soprattutto un campo con la descrizione di questo codice, una cosa del genere inosmma:
    codice:
    Tabella descrizione codici:
    
    Codice     Descrizione
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    etc..
    Come recupero con il solo sql la descrizione del codice nella tabella descrizione codici senza dover per forza recuperare tutti i record di questa tabella?

  2. #2

    Re: recuperare record singoli in una relazione uno a molti

    Originariamente inviato da dops
    supponiamo che io abbia una tabella con dei codici:
    codice:
    Tabella codici:
    
    Codice
    00544
    55478
    87163
    11787
    85656
    ed inoltre una tabella con qualche milione di record che contiene nel campo codice i codici che mi interessano, e che contiene soprattutto un campo con la descrizione di questo codice, una cosa del genere inosmma:
    codice:
    Tabella descrizione codici:
    
    Codice     Descrizione
    00544      Descrizione del codice 00544
    00544      Descrizione del codice 00544
    .....................................
    55478      Descrizione del codice 55478
    55478      Descrizione del codice 55478
    .....................................
    etc..
    Come recupero con il solo sql la descrizione del codice nella tabella descrizione codici senza dover per forza recuperare tutti i record di questa tabella?
    ... non ho mica capito qual'è il problema vero;

    comunque ci provo :

    codice:
    select 
      c.codice as CodiceInCodici,
      isnull(d.codice,'Codice non presente in TabDescrizioni') as CodiceInDescrizioni,
      d.descrizione
    from TabCodici c
    left join
    (
     select distinct codice, descrizione 
     from TabDescrizione
    ) d
    on c.codice=d.codice

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    aspè cerco di spiegarmi meglio.. perchè con la query che proponi recupero comunque tutti i record della tabella descrizioni..
    quello che voglio fare è recuperare solo 1 record corrispondente al codice della tabella codici nella tabella descrizioni, anche se nella tabella descrizioni sono presenti n* record che contengono lo stesso codice con cui faccio la join..

  4. #4
    Originariamente inviato da dops
    aspè cerco di spiegarmi meglio.. perchè con la query che proponi recupero comunque tutti i record della tabella descrizioni..
    quello che voglio fare è recuperare solo 1 record corrispondente al codice della tabella codici nella tabella descrizioni, anche se nella tabella descrizioni sono presenti n* record che contengono lo stesso codice con cui faccio la join..
    Ciao dops,

    personalmente, ed esclusa la banalità seguente

    codice:
    select distinct codice, descrizione 
    from TabDescrizione
    where codice=TuoCodice
    non mi è ancora chiaro quello che vuoi;

    puoi fare un esempio concreto dei dati di input e sopratutto
    del risultato desiderato prendendo ad esempio i dati del tuo primo post ?

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da sspintux
    Ciao dops,

    personalmente, ed esclusa la banalità seguente

    codice:
    select distinct codice, descrizione 
    from TabDescrizione
    where codice=TuoCodice
    non mi è ancora chiaro quello che vuoi;

    puoi fare un esempio concreto dei dati di input e sopratutto
    del risultato desiderato prendendo ad esempio i dati del tuo primo post ?
    certo

    molto semplicemente, partendo dalla struttura del primo post, quello che voglio è:
    codice:
    Codice     Descrizione
    00544      Descrizione del codice 00544
    55478      Descrizione del codice 55478
    Prendendo il codice dalla prima tabella e la descrizione dalla seconda..
    tu ti chiederai perchè non fare una distinct sulla seconda tabella.. un motivo c'è in quanto il codice della prima tabella lo seleziono filtrando per un ulteriore campo della prima tabella.. che nella seconda non esiste..
    che posso fare se ho una struttura dati schifosa?

  6. #6
    Originariamente inviato da dops
    certo

    molto semplicemente, partendo dalla struttura del primo post, quello che voglio è:
    codice:
    Codice     Descrizione
    00544      Descrizione del codice 00544
    55478      Descrizione del codice 55478
    Prendendo il codice dalla prima tabella e la descrizione dalla seconda..
    tu ti chiederai perchè non fare una distinct sulla seconda tabella..
    ..ed infatti continuo a chiedermelo

    Originariamente inviato da dops
    .............
    un motivo c'è in quanto il codice della prima tabella lo seleziono filtrando per un ulteriore campo della prima tabella.. che nella seconda non esiste..
    che posso fare se ho una struttura dati schifosa?
    se il problema è solo questo, e sempre ammesso che abbia capito bene ,
    direi che allora è la prima che ti ho proposto con una piccola modifica

    codice:
    select q1.codice,q2.descrizione
    from
    (
     select  codice 
     from TabCodici
     where campofiltro=TuoFiltro
    ) as q1
    inner join
    (
     select distinct codice, descrizione 
     from TabDescrizione
    ) as q2
    on q1.codice=q2.codice

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.