2 つの値を取得するクエリがあります。
string query = @"SELECT price, weight
FROM map
WHERE width = @width AND height = @height LIMIT 1";
if (_connSource.State != ConnectionState.Open)
_connSource.Open();
MySqlCommand cmd = new MySqlCommand(query, _connSource);
cmd.Parameters.AddWithValue("width", width);
cmd.Parameters.AddWithValue("height", height);
r = cmd.ExecuteReader();
if (!r.Read())
{
r.Close();
query = @"SELECT retail_price, 0
FROM globe
WHERE PK_Id = @PK_Id LIMIT 1"
cmd = new MySqlCommand(query, _connSource);
cmd.Parameters.AddWithValue("PK_Id ", 1);
r = cmd.ExecuteReader();
}
条件に従って と を取得する必要がありますが、それがテーブルに存在しない場合は、制約のないまったく新しいテーブルからさらに 2 つのフィールドprice
と定数0 (それが何であるかは関係ありません)を取得する必要があります前の表から。1 回のクエリで 2 つを取得できますか?weight
retail_price
注:同じ値を複数回読み取ることを強制しない最適化されたクエリを親切に提供してください(この関数は1回の操作で何千回も実行されるため、速度が非常に重要です-1回で取得しようとしている理由ですクエリ)。ありがとう..