私は非同期ゲームに取り組んでいますが、MySQL と PHP はまったく初めてです。tb_users と tb_matches の 2 つのテーブルがあります。最初のものは、すべてのユーザーとそのステータスを保存します (たとえば、「ステータス」列の値が 0 の場合、プレイヤーは待機中であることを意味し、値が 1 の場合、プレイヤーは対戦相手が対戦するのを待っていることを意味します) .
tb_matches テーブルには、アクティブな一致と非アクティブな (完了した) 一致の両方のすべての一致が格納されます。このテーブルには、プレーヤー ID を含む 2 つの列があります。
私がやろうとしているのは、次の要件を満たす必要がある利用可能な対戦相手を検索することです。
1) tb_users テーブルで 1 のステータスを持っている必要があります 2) 新しい対戦相手を探しているユーザーとのアクティブな一致がまだ存在していてはなりません
私は試してみました:
SELECT *
FROM tb_users
JOIN tb_matches
WHERE tb_users.status = "1"
AND tb_matches.player1 != '".$username."'
AND tb_matches.player2 != '".$username."'
..しかし、それは私に結果を与えていません。また、tb_matches テーブルには一致するものがまったくない可能性があることも考慮する必要があります。
何か助けはありますか?また、このタスクを達成するためのより良い方法はありますか?