ビルドしようとしているMySQLクエリで助けが必要です。MySQL複数のSELECTクエリが同じテーブルに異なるWHERE句を持つ
ザ・は私が持っているテーブルです。
+----+-----------+---------+-----------+---------+------------+-----------+
| id | fruit | color | shape | country | vit | city |
+----+-----------+---------+-----------+---------+------------+-----------+
| id | Apple | red | spherical | UK | A | London |
| id | Orange | orange | circular | USA | C | New York |
| id | Apple | green | multiple | Mexico | C | Cancun |
| id | Apple | red | spherical | Canada | B | Ottawa |
+----+-----------+---------+-----------+---------+------------+-----------+
今、私はそうのような複数のSELECT
のクエリを実行するために、1つのクエリを使用したい:
SELECT * from tbl_fruits WHERE fruit = "Apple" AND vit = "A" AND city = "London";
SELECT * from tbl_fruits WHERE fruit = "Apple" AND vit = "B" AND city != "London;
SELECT * from tbl_fruits WHERE fruit = "Apple" AND vit != "A" AND vit != "B" AND city != "London";
結果のテーブルは次のようになります。
+----+-----------+---------+-----------+---------+------------+-----------+
| id | fruit | color | shape | country | vit | city |
+----+-----------+---------+-----------+---------+------------+-----------+
| id | Apple | red | spherical | UK | A | London |
| id | Apple | green | multiple | Mexico | C | Cancun |
| id | Apple | red | spherical | Canada | B | Ottawa |
+----+-----------+---------+-----------+---------+------------+-----------+
なぜこのようなことをするには、Aのすべての結果を得る必要がありますまず最初にSELECT
を3つの条件に限定してppleします。次に、すべての結果をAppleの2番目のSELECT
で取得する必要がありますが、今回は2つの条件のみを限定し、最初の結果を除外します。SELECT
など。
どのようにこれを達成するためのアイデアですか?私はUNION
を含むいくつかの異なるクエリを試しましたが、何とか私は必要な結果を表示することができません。
優秀な、とてもシンプルな...私はもっと複雑なものを試していた...ありがとう! – user3132858