Newsgroup: it.comp.appl.access
Titolo: Join di tipo particolare

Scusate ho un dubbio da porvi:
Mettiamo che gli ID di due tabelle siano i seguenti:
TAB1: 1 2 3 4 5
TAB2: 3 4 5 6 7
Come faccio ad ottenere una tabbella fatta cosi':
ID.TAB1	ID.TAB2
1	-
2	-
3	3
4	4
5	5
-	6
-	7
I trattini indicano ovviamnete la cella Null.
Grazie.
-- 
   \  /_ _ : _ _           
    \/(_|/_|| | |          
  mail me  :  vazim_dot_net_at_virgilio_dot_it                       
  view me  :  
http://www.vazim.net
 

 I trattini indicano ovviamnete la cella Null.
Ciao, Vazim.
        SELECT 
TAB1.ID
 AS ID1, 
TAB2.ID
 AS ID2
        FROM TAB1 RIGHT JOIN TAB2 ON 
TAB1.ID
 = 
TAB2.ID
        UNION SELECT 
TAB1.ID
, 
TAB2.ID
        FROM TAB1 LEFT JOIN TAB2 ON 
TAB1.ID
 = 
TAB2.ID
;
-- 
    (Facci sapere se ed eventualmente come hai risolto. Grazie.)
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

         FROM TAB1 LEFT JOIN TAB2 ON 
TAB1.ID
 = 
TAB2.ID
;
AZZ!!! non pensavo che fosse cosi' complicato! Funziona Grazie.
Ho notato inoltre che se voglio visualizzare altri campi devo scriverli nei
due SELECT. Per esempio
         SELECT 
TAB1.ID
 AS ID1, 
TAB2.ID
 AS ID2 ,TAB1.NOME,TAB2.COGNOME
         FROM TAB1 RIGHT JOIN TAB2 ON 
TAB1.ID
 = 
TAB2.ID
         UNION SELECT 
TAB1.ID
, 
TAB2.ID
 ,TAB1.NOME,TAB2.COGNOME
         FROM TAB1 LEFT JOIN TAB2 ON 
TAB1.ID
 = 
TAB2.ID
;
Questo per dare un piccolo contributo al 3nd :)


 Questo per dare un piccolo contributo al 3nd :)
Ciao, Vazim.
    No... Da'i... E' solo questione di allenamento.
    Osserva anche che nella prima SELECT:
        SELECT 
TAB1.ID
 AS ID1, 
TAB2.ID
 AS ID2
i nomi dei campi hanno degli alias (AS) mentre nella seconda:
        UNION SELECT 
TAB1.ID
, 
TAB2.ID
invece no. Pertanto continua con tale impostazione scrivendo per esempio:
        SELECT
 
TAB1.ID
      AS ID1
          , 
TAB2.ID
      AS ID2
          , TAB1.NOME    AS NOME1
          , TAB2.COGNOME AS COGNOME2
(gli a capo non sono necessari, li ho messi per leggibilita') in quanto ID1,
ID2, NOME1, ecc. sono i nomi delle colonne/campi della query, quelli ai
quali cioe' dovrai fare riferimento in maschere, report, codice, ecc.
-- 


 AZZ!!! non pensavo che fosse cosi' complicato! Funziona Grazie.
solo per dare un'informazione aggiuntiva ....
Il Join di tipo particolare si chiama FULL JOIN
------------
SELECT 
TAB1.ID
 AS ID1, 
TAB2.ID
 AS ID2
FROM TAB1 FULL JOIN TAB2 ON 
TAB1.ID
 = 
TAB2.ID
------------
e con access l'unico sistema per simularlo č quello indicato da Maurizio
Borrelli.
Ciao Giorgio

 Ciao Giorgio
Grazie, per questo mi stupivo che per un risultato cosi' "semplice" fosse
necessaria una stringa cosi' complicata ora mi e' piu' chiaro: E' lo
strumento che e' bacato :) (leggi Access)


 strumento che e' bacato :) (leggi Access)
Ciao, Vazim. Ciao Giorgio.
    E' *anche* un po' bacato (ma chi non lo e'?...), pero' in questo caso
specifico piu' che bacato e'... rozzo. (:baca-rozzo:) Ma visto che alcuni di
noi qui, bene o male, ci si guadagnano il pane... non ne facciamo una
tragedia. :-)
-- 


 tragedia. :-)
Cmq, e chiudiamo qui il trend, io ritengo che l'Access si un "Ottima Cosa"
ed e' proprio per questo che mi aspetto a volte di piu' di quello che ci e'
concesso fare.



Assolutamente d'accordo, la mia non era una critica ad access (è dal 1992
che ci lavoro) e ricordando la versione 1.1 (la 1.0 me la sono persa)  si
può certamente dire che sono stati fatti passi da gigante.
La Full Join pur essendo molto bella non ha un largo impiego (mi sarà
capitato una o due volte di averne la necessità).
Comunque l'avventura continua.... vedremo le prossime versioni :-)
Ciao Giorgio

 concesso fare.
Cosa vuoi fare di piů, Maurizio ti ha detto che alcuni ci fanno anche il
pane!!!
;-P
MAssimiliano