Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wspólni znajomi, prośba w ułożeniu zapytania
graft
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 24.03.2007

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


Witam...

zapisuję do bazy znajomych:
Kod
--------------------------------
     user      |    znajomy
--------------------------------
1. id_jasia    |  id_małgosi
--------------------------------
2. id_małgosi  | id_jasia
--------------------------------

I teraz pytanie. Czy można jednym zapytaniem sprawdzić czy użytkownicy są znajomymi? Oczywiście znajomymi są wtedy, gdy oboje dodadzą się do bazy (wiersz 1 oraz 2).

Proszę o wskazówki. Czytam właśnie o JOIN, ale nie kumam za bardzo...

Pozdrawiam

Ten post edytował graft 7.11.2009, 12:24:47
Go to the top of the page
+Quote Post
Zmorcia
post
Post #2





Grupa: Zarejestrowani
Postów: 234
Pomógł: 5
Dołączył: 26.01.2008
Skąd: Lutcza

Ostrzeżenie: (20%)
X----


Dołączam sie do pytania.


--------------------
POMOGŁEM ? Wciśnij "Pomógł" , dzięki !
Go to the top of the page
+Quote Post
kipero
post
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

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


Można to zrobić np. w ten sposób:
  1. SELECT COUNT(user) AS sa_znajomymi
  2. FROM znajomosci
  3. WHERE (user = 2 AND znajomy = 5) OR (user = 5 AND znajomy = 2);


Zapytanie zwraca wartość 2(są znajomymi), 1(tylko jedna osoba dodała do znajomych) lub 0(nikt nie dodał do znajomych).

Ten post edytował kipero 7.11.2009, 12:52:08


--------------------
Go to the top of the page
+Quote Post
graft
post
Post #4





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 24.03.2007

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


No nie do końca. Bo brakuje mi zmiennych "2" i "5". Np małgosia może mieć 1000 ulubionych i tylko 10 znajomych. Dodała 1000, a tylko 10 z tego tysiąca ma również małgosię w ulubionych, więc automatycznie są znajomymi.


jaś --ma w ulubionych--> małgosię
małgosia --ma w ulubionych--> jasia


Jak więc odpytać bazę ilu znajomych ma dowolny user?
Chodzi mi tylko o zliczenie, czyli w wynikach wyszukiwania, pod każdym userem ma być ilość jego znajomych, wg powyższego przykładu.



PS. Co by nie było, że chcę gotowca, to poradziłem sobie stosując 2 zapytania w drugim dając WHERE znajomy IN ($listauseróq_z_1_zapytania)
Ale na pewno da radę zrobić to lepiej...

Ten post edytował graft 30.11.2009, 20:41:23
Go to the top of the page
+Quote Post
seth-kk
post
Post #5





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


Exists lub join z samym soba


--------------------
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: 19.08.2025 - 10:39