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

    Query INNER JOIN 3 tabelle

    Ciao a tutti,
    ho necessità di modificare una query su 2 tabelle per farla girare su 3 tabelle.

    Questo è il codice che ho adesso:

    codice:
    SELECT ordini.titolo,ordini.versione,ddt.data_documento,ddt.numero_documento,ordini.numero_ordine,ordini.clientefatt,ordini.cliente,ordini.clientecons,ddt.anno_documento 
    FROM ddt INNER JOIN Ordini ON (ddt.numero_ordine = ordini.numero_ordine)  
    WHERE (((ddt.data_documento)>='"&data&"' AND (ddt.data_documento)<='"&data1&"')) AND ddt.annullato<>'SI' AND ddt.sun='NO' AND ordini.sun is NULL ORDER BY ddt.data_documento, ddt.numero_documento;
    ora, oltre a fare la query di ricerca sulla Tabella DDT, dovrei effettuarla anche sulla tabella DDT_DIGITAL.
    Le tabelle DDT e DDT_DIGITAL sono speculari, hanno gli stessi campi.

    E' possibile inserirli sulla suddetta query?

    "..non vogliamo avere ragione... vogliamo essere felici.."

  2. #2
    metti le due uguali in UNION, poi in join

    select colonne from tabella1 join
    (select colonne from tabella2
    union
    select stesse_colonne from tabella3) as tabella4
    on tabella1.colonna=tabella4.colonna


    adattala

  3. #3
    non ho ben capito... perdonami..

    "..non vogliamo avere ragione... vogliamo essere felici.."

  4. #4
    la due e la tre con la union formano un'unica tabella (la quattro) che va in join con la uno.

  5. #5
    così il codice da errore

    Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
    ODBC driver does not support the requested properties.
    /ddt/sunddtTEST.asp, line 60



    codice:
    SELECT titolo,versione,numero_ordine,clientefatt,cliente,clientecons
    FROM Ordini
    JOIN
    (SELECT data_documento,numero_documento,anno_documento FROM ddt 
    UNION SELECT data_documento,numero_documento,anno_documento FROM ddt_digital) as TABELLA_DDT 
    ON (tabella_ddt.numero_ordine = ordini.numero_ordine)  
    WHERE (((tabella_ddt.data_documento)>='"&data&"' AND (tabella_ddt.data_documento)<='"&data1&"')) AND tabella_ddt.annullato<>'SI' AND tabella_ddt.sun='NO' AND ordini.sun is NULL 
    ORDER BY tabella_ddt.data_documento, tabella_ddt.numero_documento;
    sicuramente ho scritto qualche fesseria...
    "..non vogliamo avere ragione... vogliamo essere felici.."

  6. #6
    il db è access (non lo dicesti) ? allora INNER JOIN

  7. #7
    il DB sql server.. ma anche con INNER JOIN l'errore è lo stesso..
    "..non vogliamo avere ragione... vogliamo essere felici.."

  8. #8
    ho fatto una query simile nella struttura e a me va... devi accedere per forza via odbc? perché non accedi in modalità nativa?

  9. #9
    Grazie Optime..
    avevo omesso dei campi nelle selct in union.

    ora gira tutto alla perfezione..

    grazie ancora!

    "..non vogliamo avere ragione... vogliamo essere felici.."

  10. #10

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.