CREATE TABLE IF NOT EXISTS tbl_neighbor( neighID INT UNSIGNED NOT NULL AUTO_INCREMENT, p1 INT UNSIGNED NOT NULL, p2 INT UNSIGNED NOT NULL, PRIMARY KEY(neighID), UNIQUE KEY (neighID) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
jest to graf niekierunkowy czyli występują takie wyniki również:
p1 | p2
A | B
A | C
B | A
teraz pierwsza część pytania
jak wybrać punkty w "drugim" rzędzie> tzn pierwszy select pokazuje mi co należy do A i chciałbym aby wyświetlił mi także co należy do wszystkich wyświetlonych W A;
Trochę i tak skomplikowałem jeżeli ktoś jest dobry w MySQL a nie rozumie mojego pytania to niech napisze to postaram się jeszcze uprościć....
Dziękuję za pomoc i pozdrawiam
Dobra udalo mi się to zrobić za pomocą takiego kodu:
SELECT DISTINCT q1.p2 FROM tbl_neighbor AS q1 LEFT JOIN tbl_neighbor AS q2 ON q1.p1 = q2.p2 WHERE q2.p1=1;
powyższy kod znajduje mi sąsiadów drugiego rzędu dla punktu 1 (neighbor = sąsiad);
Teraz kolejne pytanie mam już pewne pola zasiedlone (w tym przypadku 1) jak je odjąć od tych wyświetlonych?