0
我有以下的鍵串,其中列1代表值,列2是分數,列3是鍵串。 第2列是通過檢查keystring中的column1值來計算的。執行條件where子句使用Arel表
如果列-1值是7,那麼它是小於25。所以,第2列的值將爲0。
爲了實現這一點,我提出UPPER_LIMIT和LOWER_LIMIT。
Lower_Limit | Upper Limit
NULL | 25
25 | 75
75 | 125
125 | 250
250 | 500
500 | NULL
現在用下面的查詢:
score_line_item = Model.where("upper_limit > ? AND lower_limit <= ?", value, value)
score_line_item = Model.where("upper_limit IS null AND lower_limit >= ? ", value) unless score_line_item.present?
score_line_item = Model.where("lower_limit IS null AND upper_limit > ? ", value) unless score_line_item.present?
如何使用Rails這樣,我實現了相同的? (可能在1行)。我無法刪除重複的行。我正在尋找上述問題的更好的解決方案,即使它與Arel表一樣。