私はかなりsqlを使い慣れていて、ユーザがテーブルYにないときにテーブルXからデータを取得しようとしていますIDとプレイヤーへのアクセスは、2sqlテーブルYのコミコンに含まれていないすべてのユーザを選択する
私は少しfurterを説明してみましょうです:
表X(ユーザテーブル)
+-----------+----------+------------+
| uid | access | more data |
+-----------+----------+------------+
| 1 | 2 | .... |
| 2 | 1 | .... |
| 3 | 2 | .... |
+-----------+----------+------------+
表Y(世界)
+-----------+-----------+
| userUuid | worldUuid |
+-----------+-----------+
| 1 | 1 |
| 2 | 2 |
| 3 | 2 |
+-----------+-----------+
私はまだワールド1に追加できるすべてのユーザーを取得したいとき、ユーザー3からユーザー情報を取得したいと考えています。
ユーザー1は既にワールド1にあり、ユーザー2はアクセスレベル2とユーザー3がまだ世界1ではないとアクセスレベル2.
を持っていない私はmedooを使用していますし、これは現時点での私の文です:
$database->select("User", [
"[>]UserInWorld" => ["uid" => "userUid"]
], [
"uid",
"displayname",
"surname",
"email"
], [
"AND" => [
"worldUuid[!]" => $worldUuid,
"access" => 2
]
]);
worldUuidは私がしたいの世界になります追加するユーザーを取得します。
使用する場合 - >デバッグ()をクエリは次のようになります。
SELECT "uid","displayname","surname","email"
FROM "User"
LEFT JOIN "UserInWorld" ON "User"."uid" = "UserInWorld"."userUid"
WHERE "worldUuid" != '4dafb8c0-57234ff2-03eb-af7f7a5e'
AND "access" = 2
編集:私は私が正しくあなたを理解していれば、あなたが行うことができるはず
しかし、あなたのサンプルからは、レベルアクセス= 2でuserUidをUserにしたくないようですね。 – scaisEdge