sql >> Databasteknik >  >> RDS >> Mysql

Enkelrads vänskapsdatabasschema med att få användar-id från den ena eller den andra kolumnen

Den här frågan skulle returnera Id-värdet och namnet på vännerna till #5 som visas i denna SQL Fiddle Exempel

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 kommer att ta bort dubbletter, vilket gör att den här frågan fungerar för både en enda post av vänner eller den 2 rekord vänskap du nämner i kommentaren. Du borde dock inte behöva vänskapen med två rekord, eftersom det inte finns någon ny information som lagras i den andra posten som du inte kan få genom att bara ha en post.




  1. Formatera ett tal som en procentandel i MySQL

  2. Hur ringer man upp Oracle Function i Python?

  3. mysql nyckelordssökning

  4. Android:hur man laddar upp en bild i mysql med php