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.
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)
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.
@legrooch
Zamiast inner wstawiasz left i dodajesz where tb_tabela2.nazwisko is null