Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Korzystanie z tablicy w zapytaniu SQL

Oto ogólny układ dla Ciebie, zrób trzy tabele, o których wspomniałeś, poniżej opisałem jako przykład

[TABELI]

  • użytkownicy
  • obserwatorzy
  • posty

W tabeli użytkowników powinieneś mieć przynajmniej kolumny takie jak identyfikator użytkownika (automatycznie zwiększana wartość / klucz podstawowy).

Tabela obserwujących powinna mieć coś w rodzaju identyfikatora użytkownika, który będzie pasował do identyfikatora użytkownika w tabeli użytkowników, kolumna obserwatora, która również zawierałaby identyfikator # dla obserwatora z tabeli użytkowników.

Następnie dla swojej tabeli postów również chciałbyś mieć identyfikator użytkownika, aby każdy post miał identyfikator z tabeli użytkowników.

Następnie musisz zrobić coś takiego:

SELECT p.*
FROM posts AS p
WHERE p.userid IN (SELECT followid FROM followers WHERE userid = ###)
ORDER BY p.date DESC

Teraz to naprawdę zależy od tego, w jaki sposób zdobędziesz identyfikator użytkownika, aby to rozgryźć. Jeśli przekazujesz identyfikator użytkownika za pomocą sesji po tym, jak zalogują się oni podobnie do czegoś takiego jak Facebook, możesz zmienić identyfikator użytkownika =### na coś w stylu identyfikator użytkownika =".$_SESSION['userid']". Ale znowu, to naprawdę zależy od tego, jak podasz identyfikator użytkownika, ale powyższe powinno przynajmniej trochę Cię zacząć.

Upewnij się, że umieszczasz indeksy na identyfikatorze użytkownika i kolumnach followid, aby gdy tabela powiększyła się, szybko wykonała połączenia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje jakikolwiek limit ciągu rozdzielanego przecinkami w find_in_set w zapytaniu mysql?

  2. Jak stworzyć bazę danych mysql za pomocą sequelize (nodejs)

  3. Zapytanie o wartości bazy danych na podstawie lokalizacji użytkownika

  4. Dlaczego Delphi (Zeos) daje mi pola typu widestring w SQLite, gdy proszę o unsigned big int?

  5. Porównanie MongoDB, MySQL i PostGreSQL