Strona 1 z 1

Problem z wydobyciem danych z tabeli

: czw sie 29, 2013 4:36 pm
autor: kristoferson
Witam,

Mam taki problem,
od niedawna zacząłem uczyć się Base (Libre office)
i nie mogę sobie poradzić z takim problem
Mam tabelę
LP | P1 | P2 | P3 |
1 A B C
2 C A B
3 D E F
4 F D E
itd
ale są też:
5 G H I

czyli takie w P1 dane G które nie występują w P2 i(lub) w P3
i takie właśnie chciałbym wydobyć z p1 wraz z przypisanymi im danymi z P2 i z P3
od tygodnia czytam wszystko o SQL, przeglądam przykłady i nie udało mi się.
Być może tego problemu nie można rozwiązać w base. Dodam, że tabela jest duża - około 40 000 wierszy.
Proszę o jakąś poradę.

Pozdrawiam
Krzysiek

Re: Problem z wydobyciem danych z tabeli

: czw sie 29, 2013 5:16 pm
autor: Jan_J
kristoferson pisze:Mam tabelę
LP | P1 | P2 | P3 |
1 A B C
2 C A B
3 D E F
4 F D E
itd
ale są też:
5 G H I

czyli takie w P1 dane G które nie występują w P2 i(lub) w P3
i takie właśnie chciałbym wydobyć z p1 wraz z przypisanymi im danymi z P2 i z P3.
Jako że odpytujemy całą kolumnę (albo sumę kilku kolumn) na okoliczność (nie)zawierania danej z pewnego pola bieżącej krotki, użyłbym tzw. podzapytania nieskorelowanego:

Kod: Zaznacz cały

select P1, P2, P3 from Tabela 
where P1 not in (select P2 from Tabela) and P1 not in (select P3 from Tabela)
ew.

Kod: Zaznacz cały

select P1, P2, P3 from Tabela 
where P1 not in ((select P2 from Tabela) union (select P3 from Tabela))

Re: Problem z wydobyciem danych z tabeli

: pt sie 30, 2013 7:03 am
autor: kristoferson
Wielkie dzięki,

Działa rewelacyjnie.

Pozdrawiam
Krzysiek