mySQLクエリを作成する必要がありますが、形式がどうあるべきかわかりません。
これが状況です。id、name、typeのフィールドを持つテーブルがあります
次のようなクエリを使用して、テーブルから結果を取得します。
SELECT * FROM table WHERE type='1'
ただし、別のクエリからのIDのリストがあります。これらは、結果から除外する必要がある項目です。
答えは簡単だと思いますが、答えを見つけるのに十分なmySQLクエリについては知りません。
mySQLクエリを作成する必要がありますが、形式がどうあるべきかわかりません。
これが状況です。id、name、typeのフィールドを持つテーブルがあります
次のようなクエリを使用して、テーブルから結果を取得します。
SELECT * FROM table WHERE type='1'
ただし、別のクエリからのIDのリストがあります。これらは、結果から除外する必要がある項目です。
答えは簡単だと思いますが、答えを見つけるのに十分なmySQLクエリについては知りません。
単純なNOTINが必要なものになります:)値のリストを送信して、値が含まれていないことを確認できます:)
SELECT * FROM table WHERE ID NOT IN (1,2,3)
次のようなサブクエリを使用して実行することもできます。
SELECT id FROM table WHERE ID NOT IN (SELECT id FROM table2 WHERE type = 1)
NOT IN
次のようなクエリを使用できます。
SELECT * FROM `table` WHERE `type`=1 WHERE `id` NOT IN (SELECT `blocked_ids` FROM `block`);
したがって、block
テーブル内のIDがブロックされていることになります。お役に立てれば!:)
この表を検討してください。
+----+-------------+
| id | name |
+----+-------------+
| 1 | America |
| 2 | Europe |
| 3 | India |
| 4 | Japan |
| 5 | Brazil |
| 6 | Switzerland |
| 7 | Syria |
| 8 | Wales |
| 9 | Taiwan |
| 10 | Zaire |
+----+-------------+
そしてブロックされたテーブル:
+-----+
| IDs |
+-----+
| 1 |
| 4 |
| 6 |
| 8 |
| 9 |
+-----+
さて、次のようなクエリを実行すると、次のようになります。
SELECT * FROM `countries` WHERE `id` NOT IN (SELECT * FROM `blocked`);
私はこの結果を得る:
+----+--------+
| id | name |
+----+--------+
| 2 | Europe |
| 3 | India |
| 5 | Brazil |
| 7 | Syria |
| 10 | Zaire |
+----+--------+
お役に立てれば!:)