Temat: pokaż rekordy z A nie powiązane z B(do usunięcia)
Witam...
Szukam lepszego rozwiązania. Problem:
Rekordy w tabeli B są powiązane (mają w sobie klucz obcy będący kluczem prywatnym w tabeli A) z tabelą A.
Inaczej tabela A ma poszerzone informacje w tabeli B.
Jednak nie wszystkie rekordy w tabeli A mają te powiązania z tabelą B i te chcę wyłowić.
SELECT id_A FROM A WHERE id_A NOT IN (SELECT id_A FROM B) LIMIT 3;
To pytanie dla ok. 150000 w A i ok.300000 w B wykonuje sie ok. 3 min.
ale dla całości po godzinie nadal brak wyniku dla zmodyfikowanej wersji tego pytania:
SELECT COUNT (*) FROM A WHERE id_A NOT IN (SELECT id_A FROM B);
Co prawda mogę się dokopać do wyniku od jakby drugiej strony (od całości A odjąć poniższy wynik):
SELECT COUNT (*) FROM (SELECT DISTINCT A.* FROM A , B WHERE A.id_A = B.id_A) T;
Ale ja w efekcie chcę usunąć te niepowiązane rekordy z A więc jak je wyłowić?