🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
4 messages
4 total messages Started by "leku" Sun, 17 May 2020 00:05
Kwerenda - dane z 3 tabel
#134020
Author: "leku"
Date: Sun, 17 May 2020 00:05
19 lines
414 bytes
Access 2010
TabA z polem nr_zlec
TabB z polem nr_zlec i koszt1
TabC z polem nr_zlec i koszt2

Jak poprawnie zbudowaæ kwerendê wykorzystuj±c± pola:
TabA.nr_zlec ; TabB.koszt1 ; TabC.koszt2
aby pokazywa³a wszystkie koszty z TabB i TabC
przypisane do zleceñ z TabA ?

pozdrawiam
leku




--
Ta wiadomo¶æ zosta³a sprawdzona na obecno¶æ wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: Kwerenda - dane z 3 tabel
#134021
Author: transroad193@gma
Date: Sun, 17 May 2020 14:39
24 lines
970 bytes
W dniu niedziela, 17 maja 2020 00:06:03 UTC+2 użytkownik leku napisał:
> Access 2010
> TabA z polem nr_zlec
> TabB z polem nr_zlec i koszt1
> TabC z polem nr_zlec i koszt2
> 
> Jak poprawnie zbudować kwerendę wykorzystującą pola:
> TabA.nr_zlec ; TabB.koszt1 ; TabC.koszt2
> aby pokazywała wszystkie koszty z TabB i TabC
> przypisane do zleceń z TabA ?

jeśli chcesz tylko koszty przypisane do danego zlecenia to musisz zrobić select'a na 3 tabelach połączonych:

select TabA.nr_zlec, TabB.koszt1, TabC.koszt2 
from TabA inner join TabB on TabA.nr_zlec = TabB.nr_zlec 
inner join TabC on TabA.nr_zlec = TabC.nr_zlec

Proponowałbym jednak w tabeli TabA założyć kolumnę z kluczem głównym (np. autonuerowaną) i łączyć po nich (oczywiście wówczas w TabB i TabC umieszczasz klucz obcy do klucza głównego z TabA)

Wardzyn
Re: Kwerenda - dane z 3 tabel
#134022
Author: "leku"
Date: Mon, 18 May 2020 07:21
32 lines
1056 bytes
jeśli chcesz tylko koszty przypisane do danego zlecenia to musisz zrobić
select'a na 3 tabelach połączonych:

select TabA.nr_zlec, TabB.koszt1, TabC.koszt2
from TabA inner join TabB on TabA.nr_zlec = TabB.nr_zlec
inner join TabC on TabA.nr_zlec = TabC.nr_zlec

Proponowałbym jednak w tabeli TabA założyć kolumnę z kluczem głównym (np.
autonuerowaną) i łączyć po nich (oczywiście wówczas w TabB i TabC
umieszczasz klucz obcy do klucza głównego z TabA)

Wardzyn

-------------------------------------------

Inner join nie załatwia sprawy bo koszty w obu polach nie zawsze występują.
Faktycznym źródłem danych są kwerendy gdzie koszty są wyliczane.
Dodatkowym utrudnieniem jest brak wartości w polach Koszt1 i Koszt2 (Null)
Nie działa też Left Join i Right Join.
W Excelu załatwia problem funkcja wyszukaj pionowo ale muszę to zrobić w
istniejącej
bazie Access :)

pozdrawiam
leku



--
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: Kwerenda - dane z 3 tabel
#134023
Author: "leku"
Date: Mon, 18 May 2020 18:02
39 lines
976 bytes
Access 2010
TabA z polem nr_zlec
TabB z polem nr_zlec i koszt1
TabC z polem nr_zlec i koszt2

Jak poprawnie zbudowaæ kwerendê wykorzystuj±c± pola:
TabA.nr_zlec ; TabB.koszt1 ; TabC.koszt2
aby pokazywa³a wszystkie koszty z TabB i TabC
przypisane do zleceñ z TabA ?

pozdrawiam
leku

-----------------------------------------------------

Zrobi³em to na dwie kwerendy.
Kw1 => TabA.nr_zlec ; Tab_B.koszt1 (sprzê¿ - wszystkie nr_zlec z Tab_A i
równe nr_zlec z Tab_B)
Kw2 => Kw1.nr_zlec ; Tab_B.koszt1 ; TabC.koszt2 (sprzê¿ - wszystkie nr_zlec
z Kw1 i równe nr_zlec z Tab_C)

Do Kw2 doda³em pole wyliczane
Znacznik:IIf([koszt1]>0 Or [koszt2]>0;1;0)
co wstawia 1 przy zleceniu gdzie jest koszt1 >0 lub koszt2>0

Dalej ju¿ tylko Kryterium filtrowania w polu Znacznik po 1
i mam to co chcia³em :)

Mo¿e ma³o elegancko ale dzia³a :)

pozdrawiam
leku




--
Ta wiadomo¶æ zosta³a sprawdzona na obecno¶æ wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads