SQL zapytanie po raz kolejny - znów nie mam pomysłu....

Forum Komputery
Odpowiedz
14.05.2014 10:19
legrooch
1
odpowiedz
legrooch
243
MPO Squad Member

SQL zapytanie po raz kolejny - znów nie mam pomysłu....

Witam,

znów utknąłem... Potrzebuję porównać dwie tabele. Każda z nich zawiera jedynie imię, nazwisko oraz kasę, jaką ma ta osoba na koncie.

Problem stanowi ilość tych rekordów oraz duża ilość osób o tych samych imionach i nazwiskach.
Założenie jest takie, że jeżeli znajdzie się osoba mająca 100zł w jednej i 100zł w drugiej, to jest ok.

No i teraz tak - mam załóżmy trzech Janów Nowaków. W obu tabelach mają oni odpowiednio 0, 50 i 100zł.
Jeżeli puszczam joina, to wyświetlone zostają wariacje 0:50, 0:100, 50:100 itd.

Chciałbym uzyskać wynik, w którym osoba dopasowana nie będzie już dalej "używana". Jeżeli pojawią się dwie identyczne osoby o identycznym stanie finansowym, to każda będzie rozpatrywana niezależnie.

Czy ma ktoś na to jakiś pomysł? :)

Mogę to zrobić softem, ale nie o to chodzi w tej robocie.

14.05.2014 11:19
Buli
2
odpowiedz
Buli
152
Konsul

Nie wiem czy dokładnie dobrze zrozumiałem.
Bawię się trochę w InterBase i zrobiłem sobie dwie tabele, które wypełniłem "KOWALSKIMI" z różnym stanem kasy.
W jednej i drugiej tabeli dałem też KOWALSKIEGO z kasą 100.
Zrobiłem takie query i one zwróciło mi tylko tego kowalskiego co ma 100

select
tb_tabela1.imie,
tb_tabela1.nazwisko,
tb_tabela2.imie,
tb_tabela2.nazwisko,
tb_tabela2.kasa,
tb_tabela1.kasa
from tb_tabela2
inner join tb_tabela1 on (tb_tabela2.kasa = tb_tabela1.kasa) and (tb_tabela2.nazwisko = tb_tabela1.nazwisko)

14.05.2014 12:41
legrooch
3
odpowiedz
legrooch
243
MPO Squad Member

Buli ==> Potrzebuję finalnie osób, u których nie zgadza się kasa :)
Na innerze jest prosto, tu już chyba wyższa szkoła jazdy.

Na obecną chwilę temat zamknięty - zrobiłem aplikację konsolową zrzucającą te informacje.

14.05.2014 15:00
DarkStar
4
odpowiedz
DarkStar
182
magister inzynier

@legrooch
Zamiast inner wstawiasz left i dodajesz where tb_tabela2.nazwisko is null

Forum Forum Komputery
Odpowiedz

GRYOnline.pl:

Facebook GRYOnline.pl Instagram GRYOnline.pl X GRYOnline.pl Discord GRYOnline.pl TikTok GRYOnline.pl Podcast GRYOnline.pl WhatsApp GRYOnline.pl LinkedIn GRYOnline.pl Forum GRYOnline.pl

tvgry.pl:

YouTube tvgry.pl TikTok tvgry.pl Instagram tvgry.pl Discord tvgry.pl Facebook tvgry.pl