2017-04-12 13 views
0

SQLの列の一致を、データの配列を使用して、表示どおりにループすることなくチェックする良い方法はありますか? URL配列に100以上のリンクがあると仮定します。以下は単なる例です。行のデータを値の配列と照合する方法

url = ["www.site1.com", "www.site2.com"] 
url.each do |url| 
    match = db.execute("SELECT 1 FROM ListData WHERE Link=? ", url) 
    if match[0][0] == 1 
     flag = true 
    end 
end 
+0

私はORMを使用してに探してお勧めします。 SQLを学ぶ必要性が減り、コードに集中することができます。また、コードを別のDBMに移動するときに、クエリ言語に互換性がない場合はすべてのクエリを書き直すのではなく、ORMを使用して1行のコードを変更する作業を減らすことができます。 [Sequel](http://sequel.jeremyevans.net)とその[チートシート](http://sequel.jeremyevans.net/rdoc/files/doc/cheat_sheet_rdoc.html)をチェックすることをお勧めします。 –

答えて

0

このような句での使用:

SELECT 1 FROM ListData WHERE Link IN ('www.site1.com','www.site2.com') 
+0

私は100以上のリンクを持っていると仮定して、配列を直接配置することはできますか? db.execute( "SELECT 1 FROM ListData WHERE URL IN Link")データベースの列に既にあるURLを知る必要があります。 – ByteMe

+0

多くのリンクがある場合は、それらをデータベースに挿入してフィルタリングする必要があります。毎回100kのリンクがないと思う –

関連する問題