سؤال

ولدي 3 الجداول: الناس والجماعات وعضوية. عضوية هو الانضمام الجدول بين الأفراد والجماعات، ولها 3 أعمدة: personId، groupId ووصف (النص)

وأريد أن تحديد إدخالات من الجدول عضوية اعتمادا على groupId لكن الفرز النتيجة على أسماء الأشخاص المرتبطين إلى عضوية العثور على (اسم هو عمود من الجدول الناس)

SELECT * FROM "memberships" WHERE ("memberships".groupId = 32) ORDER BY (?????)

هل من الممكن تحقيق ذلك في استعلام واحد؟

هل كانت مفيدة؟

المحلول

والانضمام لطاولة الناس ثم طلب من الحقل الذي تريد.

SELECT
  m.* 
FROM 
  "memberships" AS m
  JOIN "people" AS p on p.personid = m.personID
WHERE
  m.groupId = 32
ORDER BY 
  p.name

نصائح أخرى

SELECT *
FROM Membership AS m
     JOIN People as p ON p.personID = m.personID
WHERE m.groupID = 32
ORDER BY p.name
SELECT
      M.* ,
      P.Name AS PersonName
FROM 
      Memberships AS m
INNER  JOIN 
      People AS P ON P.PersonID = M.PersonID
WHERE
      M.GroupID = 32
ORDER BY 
      PersonName
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top