私は3つのテーブルを持っています:人、グループ、メンバーシップ。メンバーシップは、人とグループ間の結合テーブルであり、personId、groupId、description(テキスト)の3つの列があります。
GroupIdに応じてmembershipsテーブルからエントリを選択したいのですが、見つかったメンバーシップに関連付けられている人の名前で結果を並べ替えます(nameはpeopleテーブルの列です)
SELECT * FROM "memberships" WHERE ("memberships".groupId = 32) ORDER BY (?????)
1つのクエリでこれを実現することは可能ですか?
ピープルテーブルに参加して、必要なフィールドで並べ替えます。
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