sql >> Base de Datos >  >> RDS >> Mysql

Usar una matriz en una consulta SQL

Aquí hay un diseño general para usted, haga tres tablas como las que mencionó, las describo a continuación solo como ejemplo

[TABLAS]

  • usuarios
  • seguidores
  • publicaciones

En la tabla de usuarios, debe tener al menos columnas como ID de usuario (valor incrementado automáticamente/clave principal).

La tabla de seguidores debería tener algo como ID de usuario que coincidiría con el ID de usuario de la tabla de usuarios, una columna de ID de seguimiento que también tendría el número de ID para el seguidor de la tabla de usuarios.

Luego, para su tabla de publicaciones, le gustaría tener un ID de usuario también, de modo que cuando se realice cada publicación, tenga la identificación de la tabla de usuarios.

Entonces tendrías que hacer algo como:

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

Ahora realmente depende de cómo obtenga la identificación de los usuarios para resolver esto. Si está pasando la identificación de los usuarios usando una sesión después de que iniciaron sesión similar a algo como Facebook, entonces podría cambiar userid =### a algo como userid =".$_SESSION['userid']". Pero nuevamente, realmente depende de cómo pase la identificación de los usuarios, pero lo anterior al menos debería ayudarlo a comenzar.

Asegúrese de poner índices en las columnas ID de usuario, ID de seguimiento para que cuando la tabla se haga más grande, haga las uniones rápidamente.