私はjavascriptとnodejsの初心者で、mysqlの知識があまりありません。これらは、名前が次のMySQLテーブルの列名ですcars
:
- 名前
- モデル
- 伝送タイプ
- エンジンの大きさ
- 車両サイズ
- ボディタイプ
からとをランダムに選択Name
したいのですが、カテゴリは、他の 4 つの列によって決定されるものと一致する必要があります。出力は 2 行のみにする必要があります。model
cars
TransmissionType
EngineSize
VehicleSize
Body Type
engine
TransmissionType
VehicheSize
BodyType
エンジンのサイズには次の値があります。3.2, 3.5, 1.6, 5.2, 2.0, 2.2
TransmissionType には次の値がありますManual
。Automatic
VehicleSize の値はCompact
、 、MidSize
およびLarge
です。
BodyType の値はCar
、 、van
およびtruck
です。
これを達成するには、どのようなクエリを作成する必要がありますか? 助けてください。
私はこれを行い、クエリは正常に動作していますが、実行中のサブクエリが多すぎます.2-3 デンのサブクエリを使用しないでこれを達成することは可能ですか?
SELECT Name, model
FROM cars
WHERE EngineSize IN (SELECT * FROM (SELECT EngineSize FROM cars ORDER BY RAND( ) LIMIT 1 ) AS A)
AND TransmissionType IN (SELECT * FROM (SELECT TransmissionType FROM cars ORDER BY RAND( ) LIMIT 1 ) AS B)
AND BodyType IN (SELECT * FROM (SELECT BodyType FROM cars ORDER BY RAND( ) LIMIT 1 ) AS C)
AND VehicleSize IN (SELECT * FROM (SELECT VehicleSize` FROM cars ORDER BY RAND( ) LIMIT 1 ) AS D)
LIMIT 2