- ウェブサイトでユーザーを検索する機能がありますが、
- 私のサイトには友達向けの機能もあります。
- 自分のサイトで正しいユーザーを検索するためのクエリがあり、
- ユーザーが友達であるユーザーを判別するクエリがあります。どちらも正常に機能します。
ですから、私が支援を必要としているのは、他のユーザーの前に友達を注文するために、2つを組み合わせることです。
検索クエリー:
SELECT userID, fname, lname,
FROM names
WHERE (
fname LIKE '".$term."%'
OR lname LIKE '".$term."%'
OR CONCAT(fname, ' ', lname) LIKE '".$term."%'
)
AND userID!=$session
ORDER BY fname ASC, lname ASC
LIMIT 10
友達のクエリ:
SELECT CASE WHEN userID=$session
THEN userID2
ELSE userID
END AS friendID
FROM friends
WHERE (
userID=$session
OR userID2=$session
)
AND state='1'
したがって、2つを比較するステートメントは、次のようになります。IF names.userID=friends.friendID
今、私はこれを行う簡単な方法のように見えるスタックオーバーフローに関する同様の問題についてのユーザーの提案を見つけましたが、それはより複雑なクエリであるため、特定の友達のクエリでそれを追加する方法が完全にはわかりません。
SELECT
posting.id,
IF(a.friend_id = b.criteria, 1, 0) AS is_friend
...
ORDER BY is_friend DESC, posting.id DESC