1
私の例を単純化しようとします。私はuser
という2つの関係を持つfriendship
というテーブルを持っています(user1
とuser2
と呼ぶことができます)。私は友達のアルファベット順のリストを取得したいと思います。 user1
またはuser2
に表示されます。私が知ることができる唯一の方法は、ユニオンを使用することです:1つのテーブルとの二重の関係が1つとしてマージされる
SELECT f.*
FROM
(SELECT "user1"."name" AS "name"
FROM "friendship" AS "friendship" LEFT JOIN "user" AS "user1"
ON "friendship"."user1_id" = "requestedUser"."id"
AND "user1"."id" != 'me'
WHERE ("friendship"."user2_id" = 'me')
UNION
SELECT "user2"."name" AS "name"
FROM "friendship" AS "friendship"
LEFT JOIN "user" AS "user2"
ON "friendship"."user2_id" = "user2"."id"
AND "user2"."id" != 'me'
WHERE ("friendship"."user1_id" = 'me')
) AS f
ORDER BY "name"
LIMIT ?;
もっと簡単な方法はありますか?あるいは、単一のSELECTでそれを行う可能性がありますか?あなたはsequelize
でどうやってそれを知っていますか?
ありがとうございました。はい、私は知っていますが、私は2つの団体で同じフィールドでソートの友達をしたいという私の問題を解決しません。 – kasiacode