Mysql
 sql >> база данни >  >> RDS >> Mysql

Структура и заявка на системата за приятелство на Sql

Използвайте:

SELECT f.friend_id
  FROM FRIENDS f
 WHERE f.user_id = $user_id
UNION
SELECT t.user_id
  FROM FRIENDS t
 WHERE t.friend_id = $user_id

Използване на UNION ще премахне дубликатите. UNION ALL би било по-бързо, но не премахва дубликатите.

Ако искате да получите информация за приятелите от MEMBERS таблица, използвайте:

SELECT m.*
  FROM MEMBERS m
  JOIN (SELECT f.friend_id 'user_id'
          FROM FRIENDS f
         WHERE f.user_id = $user_id
        UNION
        SELECT t.user_id
          FROM FRIENDS t
         WHERE t.friend_id = $user_id) x ON x.user_id = m.id

BTW:Надявам се, че използвате mysql_escape_string върху променливите, в противен случай рискувате атаки с инжектиране на SQL:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да публикувам параметри на заявка с Axios?

  2. PHP:Показване на диалогов прозорец за потвърждение да/не

  3. Какви настройки на mysql влияят върху скоростта на LOAD DATA INFILE?

  4. MySQL EXPLAIN 'type' се променя от 'range' на 'ref', когато датата в оператора where се промени?

  5. Как да получите записи за текущия месец в MySQL