Newsgroup: it.comp.appl.access
Titolo: Query unione per colonne

Ho due tabelle formate da 4 colonne , che hanno in comune il campo [Numero]
, vorrei unirle in una nuova tabella perchč mi servono tutte e otto le
colonne insieme.....
SELECT xP4.F1, xP4.F2, xP4.F3, xP4.F4
FROM xP4;
SELECT xU4.F5, xU4.F6, xU4.F7, xU4.F8
FROM xU4;
con questa i record mi vengono aggiunti sotto i record precedenti ......io
ripeto vorrei le 4 colonne della tabella xU4
affianco alle 4 della tabella  xp4
grazie.

 grazie.
E' una semplice query con due tabelle in JOIN
--------------------
SELECT F1,F2,F3,F4,
               F5,F6,F7,F8
FROM   xP4 INNER JOIN xU4
              ON xP4.Numero=xU4.Numero
-------------------
Ciao Giorgio

 ha scritto nel messaggio
news:c73krn$i1240$1...@ID-24065.news.uni-berlin.de...

Penso che piů che usare una query unione devi mettere un INNER JOIN le due
tabelle in base al campo [Numero].
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Ciao Giorgio
        non va cosě ho provato molte volte :)
        in ogni tabella ci sono 70 record ....se provo come dici mi la query
restituisce 4900 record
    invece dei 170 !
secondo me ci vuole una query d'unione....
ciao !

 ha scritto nel messaggio
news:c73tpa$i00ut$1...@ID-24065.news.uni-berlin.de...

        invece dei 140 !
        č meglio che vado a nanna !
notte !


Forse č meglio che ti studi un po' di Sql
Ciao Giorgio

 Ciao Giorgio
    ciao !

 ha scritto nel messaggio
news:c74rhc$i49e3$1...@ID-24065.news.uni-berlin.de...

devi fare esattamente come ti ho detto, se le due tabelle hanno un campo in
comune [Numero] le devi collegare in INNER JOIN  in questo modo
---------------------------
SELECT F1,F2,F3,F4,
               F5,F6,F7,F8
FROM   xP4 INNER JOIN xU4
              ON xP4.Numero=xU4.Numero
------------------------
Se a te vengono rese 4900 righe significa che hai messo le tabelle in CROSS
JOIN in questo modo
------------------------
SELECT F1,F2,F3,F4,
               F5,F6,F7,F8
FROM   xP4,xU4
-----------------------
ottenendo il prodotto cartesiano delle righe.
Se vuoi usare la sintassi antica della INNER JOIN puoi fare cosě
------------------------
SELECT F1,F2,F3,F4,
               F5,F6,F7,F8
FROM   xP4,xU4
WHERE xP4.Numero=xU4.Numero
----------------------
Ciao Giorgio


    l'ho più volte.....ma  non va......forse  perchè i campi sono tutti
chiave primaria ????
    li ho impostati così perchè i record provengono da un'altra tabella a
quando vado ad accodarli non voglio
    che si copino record duplicati.
        ciao !

 Ciao Giorgio
    ciao !

 colonne insieme.....
-------------------------
es..
Tabella
xP4
---------------
Numero F1 F2 F3 F4
     1        1   2    3  4
     2        9   8    7  6
-------------------
Tabella
xU4
---------------
Numero F5 F6 F7 F8
     1        4   8    2  9
     2        6   5    7  2
-------------------
Risultato INNER JOIN ON Numero
---------------
Numero F1 F2 F3 F4 F5 F6 F7 F8
     1        1   2    3  4    4   8    2  9
     2        9   8    7  6   6    5    7  2
--------------
evidentemente la tua situazione č ben diversa.
Ciao Giorgio

 questo è in contrasto con quanto da te affermato nel primo post.
tabella Xp4
F1        F2        F3        F4        numero
2          3          4          5          18
2          3          4          6          18
2          3          4          7          18
2          3          4          11        18
2          3          4          12        18
2          3          4          16        18
2          3          4          18        18
2          3          4          19        18
2          3          4          20        18
2          3          4          22        18
tabella Up4
F5        F6        F7        F8        numero
6          20        27        28        18
6          26        30        32        18
7          11        27        32        18
7          20        26        30        18
7          24        29        30        18
7          26        28        30        18
7          26        30        32        18
7          27        28        30        18
7          27        30        32        18
7          28        29        30        18
ciao !

tengo a precisare che al posto di numero ho anche provato a mettere un campo
contatore in tutte e 2 le tabelle....
ma idem non va ...
ciao


Quindi il campo numero non serve a niente. Ti sei dimenticato il risultato
che vuoi ottenere e soprattutto con quale criterio vuoi che le righe vengano
accoppiate.
tabella Xp4
F1        F2        F3        F4        numero
2          3          4          5          18
2          3          4          6          18
2          3          4          7          18
tabella Up4
F5        F6        F7        F8        numero
6          20        27        28        18
6          26        30        32        18
7          11        27        32        18
Risultato ????????
---------------------
Numero  F1        F2        F3        F4        F5        F6        F7
F8
    18
Ciao Giorgio

 accoppiate.
hai perfettamente ragione ho fatto mente locale :(
la domenica bisognerebbe andare ai monti !
ciao !

Aristotele64 ha scritto:


Aggiungi 4 campi alla prima tabella e poi fai un copia-incolla dei dati
della seconda tabella nelle 4 colonne vuote nella prima.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


ciao Namor
grazie .........cercherò di farlo via codice se fattibile.....per me :(

         ciao !
