Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Grafy w MySQL
acainoks
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Witam mam pewien problem ze skonstruowaniem zapytania do moich dwóch tabel. Żeby nie komplikować teraz pytania w poście będę to robił stopniowo. Otóż mam tabelę tak skonstrowaną:

  1. CREATE TABLE IF NOT EXISTS tbl_neighbor(
  2. neighID INT UNSIGNED NOT NULL AUTO_INCREMENT,
  3. p1 INT UNSIGNED NOT NULL,
  4. p2 INT UNSIGNED NOT NULL,
  5. PRIMARY KEY(neighID),
  6. UNIQUE KEY (neighID)
  7. ) 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:
  1. 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?

Ten post edytował acainoks 29.12.2010, 11:24:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:45