0

ABH18、ABH17、ABH19 などの指定された日付とコードを使用して、データベースから結果を取得するための MySQL クエリを作成する必要があります。以下のようにクエリを書きます。

select * from tbl_transaction where
  trans_name like 'ABH19%' or trans_name like 'ABH18%' 
  or trans_name like 'ABH17%' or trans_name like 'ABH15%' 
  and date_of_vazhipad='2013-11-20' and trans_status='Completed successfully.'

上記の条件をすべて満たすDBの結果はありませんが、異なる日付の結果が得られました。しかし、クエリが正しく機能するように、date_of_vazhipad='2013-11-20' を確実にしたいと考えています。

4

2 に答える 2

3

ANDよりも優先されORます。適切な場所に括弧を入れます:

SELECT * FROM tbl_transaction WHERE
(trans_name like 'ABH19%' OR 
 trans_name like 'ABH18%' OR 
 trans_name like 'ABH17%' OR 
 trans_name like 'ABH15%') 
AND date_of_vazhipad='2013-11-20' 
AND trans_status='Completed successfully.'
于 2013-11-02T09:49:54.303 に答える
1

REGEXPクエリを短縮するために使用できます

正規表現は'^ABH19|^ABH18|^ABH17|^ABH15'

すなわち

SELECT * FROM tbl_transaction 
  WHERE trans_name REGEXP '^ABH19|^ABH18|^ABH17|^ABH15'
   AND date_of_vazhipad='2013-11-20' 
   AND trans_status='Completed successfully.';

ここで参照を見つけました

于 2013-11-02T09:54:54.907 に答える