Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568

    query con duplicati impossibile

    ciao a tutti, spero mi possiate aiutare..
    mi sono perso su una query e non ne vengo proprio fuori !!!
    ho 2 tabelle

    t1 con i codici ministeriali e codici interni
    t2 con codici interni e ragione sociale

    io ho una query dove recupero il codice ministeriale e da qui ho necessità di recuperare codice interno e ragione sociale..
    la cosa sembra semplice da risolvere con un classico left outer join, ma c'è un problema
    sulla tabella t1 ho più codici ministeriali uguali abbinati a diversi codici interni..

    la domanda è come fare una left outer join prendendo solo il primo risultato ?

    il group by non posso usarlo perchè vuole tutti i campi della select mentre io dovrei avere solo il ccmin...
    il distinct non va bene nemmeno lui..
    idee ?
    la mia query sull'anagrafica è (comprende i doppioni)

    SELECT CCMIN , CCLIE, RASCL as RASCL
    from T1
    left OUTER JOIN (SELECT CDCLI, RASCL FROM T2) as TBTemp ON TBTemp.CDCLI = CCLIE;
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  2. #2
    Ciao,
    potresti fare degli esempi di valori presenti sulle due tabelle e il risultato che vorresti ottenenere??

    Ciao
    Mik

  3. #3
    Ciao, leggendo lo schema del LEFT JOIN (che io non uso mai, preferisco il join semplice che è bello chiaro) sui siti di SQL ti accorgi che la clausola ON vuole l'attributo della tabella 1 = l'attributo della tabella 2, quindi credo che tu debba semplicemente invertire gli elementi dell'uguaglianza cioè CCLIE = TBTemp.CDCLI

    xD

  4. #4
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    ciao vi ringrazio per le risposte

    zioluffio : ho provato il tuo suggerimento ma l'ordinamento degli elementi nell'ugualianza non cambia il risultato (in generale non influisce nelle query che io sappia, ma per sicurezza ho provato)

    ----

    holiday :

    t1
    CMIN CCLIE
    a 1
    a 2

    t2
    CDCLI RASCL
    1 cliente 1
    2 cliente 2

    io vorrei fare una query dove where ccmin='a' ottengo solo una riga (la prima o una a caso) con la relativa rascl... quindi ad esempio 'cliente 1'

    farlo solo con sql proprio non riesco
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  5. #5
    Prova così:

    codice:
    SELECT * FROM 
    (SELECT CMIN, MIN(CCLIE) AS CDCLI FROM T1 GROUP BY CMIN) A,
    T2 B
    WHERE A.CDCLI=B.CDCLI
    Ciao
    Mik

  6. #6
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    grande !!!
    non conoscevo la MIN() !!
    con questa si che lo freghi, grazie 1000
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

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.