nie wiem, jak w Access 2007 połączyć dwie tabele. Chodzi mi o scalenie
kolumn z danymi z dwóch tabel. Dotychczasowe próby spełzły na niczym.
Z góry dziękuję za wszystkie sugestie.
Pozdrawiam serdecznie
Adam
select * from tabela_1
union all
select * from tabela_2
--
Przemek
Witam,
dziękuję za odpowiedź. Nie wyraziłem się jasno w poprzednim poście,
ale chodzi mi o inną rzecz. Mianowicie, mam dwie tabele. Tabela_1
posiada kolumny A, B, C, D. Tabela_2 posiada kolumny E, F. I teraz,
jak dodać kolumny z tabeli_2 do tabeli_1, żeby w tabeli_1 było
widocznych 6 kolumn. Obydwie tabele mają taką samą liczbę rekordów,
ale różną liczbę kolumn.
Dotychczasowe starania prowadziły do zsumowania rekordów z dwóch
tabel, co czyniło bazę zupełnie nieczytelną.
Z góry dziękuję za podpowiedzi.
Pozdrawiam
Adam
A skad wiadomo, ktory rekord polaczyc z ktorym? Twoje zadanie jest proste,
jesli okreslisz pole po ktorym te tabele maja byc polaczone. Powiedzmy, ze
obie tabele maja klucz ID, wtedy kwerenda, ktora wyswietli wszystkie pola
wyglada nastepujaco:
select a,b,c,d,e,f
from tabela1, tabela2
where tabela1.id=tabela2.id
K.P.
Witam,
bardzo dziękuję. Działa idealnie.
Pozdrawiam serdecznie
Adam
Witam wszystkich,
wracam jeszcze raz do kwestii łączenia kolumn z różnych tabel. Tym
razem mam problem z tabelami, które mają różną liczbę rekordów. To, co
je łączy, to identyczne identyfikatory w niektórych rekordach. Tabela
A ma 2500 rekordów, a tabela B tylko 18. Zastosowanie powyższego
polecenia zwróci tylko 18 rekordów, ale co zrobić, żeby kwerenda
wyświetliła 2500 rekordów? Z góry dziękuję za wszystkie podpowiedzi.
Pozdrawiam
Adam
|| (...)
||| Nie wyraziłem się jasno w poprzednim poście,
||| ale chodzi mi o inną rzecz. Mianowicie, mam dwie tabele. Tabela_1
||| posiada kolumny A, B, C, D. Tabela_2 posiada kolumny E, F. I teraz,
||| jak dodać kolumny z tabeli_2 do tabeli_1, żeby w tabeli_1 było
||| widocznych 6 kolumn. Obydwie tabele mają taką samą liczbę rekordów,
||| ale różną liczbę kolumn.
||
|| A skad wiadomo, ktory rekord polaczyc z ktorym? Twoje zadanie jest
|| proste, jesli okreslisz pole po ktorym te tabele maja byc polaczone.
|| Powiedzmy, ze obie tabele maja klucz ID, wtedy kwerenda, ktora
|| wyswietli wszystkie pola wyglada nastepujaco:
|| select a,b,c,d,e,f
|| from tabela1, tabela2
|| where tabela1.id=tabela2.id
| wracam jeszcze raz do kwestii łączenia kolumn z różnych tabel. Tym
| razem mam problem z tabelami, które mają różną liczbę rekordów. To, co
| je łączy, to identyczne identyfikatory w niektórych rekordach. Tabela
| A ma 2500 rekordów, a tabela B tylko 18. Zastosowanie powyższego
| polecenia zwróci tylko 18 rekordów, ale co zrobić, żeby kwerenda
| wyświetliła 2500 rekordów? Z góry dziękuję za wszystkie podpowiedzi.
KP podał Ci, nie wiem czemu, postać kwerendy z tzw. połączeniem klasycznym,
czyli za pomocą warunku WHERE.
W wiekszości języków SQL uzywa się do tego celu JOIN:
select a,b,c,d,e,f
from
tabela1 INNER JOIN tabela2
ON
tabela1.id=tabela2.id
Zaś jeśli chcesz zwrócić wszystkie rekordy jednej z tabel, stosuje się JOIN
"otwarty":
select a,b,c,d,e,f
from
tabela1 LEFT JOIN tabela2
ON
tabela1.id=tabela2.id
Po więcej odsyłem do jakiegoś kursu ABC access'a, bo to o co pytasz to
podstawy.
--
KN
Witam,
bardzo dziękuję za wskazówki.
Pozdrawiam
Adam