質問
人、グループ、メンバーシップの3つのテーブルがあります。メンバーシップは、人とグループの間の結合テーブルであり、personId、groupId、および説明(テキスト)の3つの列があります。
groupIdに応じてメンバーシップテーブルからエントリを選択しますが、見つかったメンバーシップに関連付けられている人の名前で結果をソートします(名前は人テーブルの列です)
SELECT * FROM "memberships" WHERE ("memberships".groupId = 32) ORDER BY (?????)
1つのクエリでこれを達成することは可能ですか?
解決
peopleテーブルに参加し、必要なフィールドで並べ替えます。
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
所属していません StackOverflow