私はSQLの初心者です。
今、少し複雑なselectを作成しようとしていますが、エラーが発生します。これは初心者の間違いだと思います。
助けていただければ幸いです。
SELECT ROW_NUMBER() OVER (ORDER BY score) AS rank, userID, facebookID, name, score FROM (
SELECT * FROM Friends AS FR WHERE userID = ?
JOIN
Users WHERE Users.facebookID = FR.facebookFriendID
)
UNION (
SELECT * FROM User WHERE userID = ?
)
どこ2?ユーザーのIDに置き換えられます。
テーブルUserには、データベース内のすべてのユーザーが含まれ、Friendsテーブルには、ユーザーのすべてのfacebookFriendsが含まれます。
USER TABLE
userID | facebookID | name | score
FRIENDS TABLE
userID | facebookFriendID
サンプルデータ
ユーザー
A | facebookID1 | Alex | 100
B | facebookID2 | Mike | 200
友達
A | facebookID2
A | facebookID3
B | facebookID1
アレックスとマイクは友達なので、この結果が欲しいです。
rank | userID | facebookID | name
1 | B | facebookID2 | Mike
2 | A | facebookID1 | Alex
これが非常に明確な説明だったと思います。
現在、このエラーが発生しています。
クエリの実行中にエラーが発生しました:キーワード「AS」の近くの構文が正しくありません。