多数の OR x = y ステートメントを使用して、指定された値のいずれかがテーブルに既に存在するかどうかを確認する SQL クエリがあります。次に、結果に対して行数を数えます。
$exists = db_query("SELECT * FROM {leads_client} WHERE (companyName = '".$form_state['values']['company_name']."'
OR billingEmail = '".$form_state['values']['billing_email']."'
OR leadEmail = '".$form_state['values']['lead_email']."'
OR contactEmail = '".$form_state['values']['contact_email']."'
OR url = '".$form_state['values']['company_url']."') AND NOT
clientId = '".$clientId."'");
if($exists->rowCount() > 0){
//Do something
}
これを複数のクエリに分割せずに、どの OR ステートメントが真であったかを判断する最もクリーンな方法は何ですか?