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

Едноредова схема на база данни за приятелство с получаване на потребителски идентификатор от една или друга колона

Тази заявка ще върне стойността на Id и името на приятелите на #5, както е показано в този Пример на SQL Fiddle

SELECT f.FriendId AS FriendId
   , u.Name AS FriendName
FROM FriendTable AS f
INNER JOIN UserAccount AS u ON f.FriendId = u.UserId
WHERE f.UserId = 5

UNION

SELECT f.UserId AS FriendId
   , u.Name AS FriendName
FROM FriendTable AS f
INNER JOIN UserAccount AS u ON f.UserId = u.UserId
WHERE f.FriendId = 5

UNION ще премахне дубликатите, правейки тази заявка да работи както за един запис на приятели, така и за приятелството с 2 записа, което споменавате в коментара. Въпреки това не би трябвало да имате нужда от приятелството с 2 записа, защото във втория запис не се съхранява нова информация, която не можете да получите, ако имате само един запис.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. код за търсене в сървлет към mysql?

  2. Грешка в MySQL - #1062 - Дублиран запис " " за ключ 2

  3. Как да съхранявате хешове в MySQL бази данни, без да използвате текстови полета

  4. MySQL комбинира избор със сума от друга таблица

  5. MySql count() за връщане на 0, ако няма намерени записи