Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

RailsのActive Recordのwhere条件で、「複数カラムのどれかに一致していればOK」という条件を作る方法です。たとえば、性カラムと名カラムが別れたUserに対して、どちらでもいいので検索文字がヒットしてほしいというパターンのwhere条件です。 🎂 検索対象のカラムが固定されている場合(静的)Userテーブルが、次のような定義だったとします。 User id: integer family_name: string first_name: string created_at: datetime updated_at: datetime すでにOR条件の対象となるカラムが固定されている場合は、次のようなコードになります。 class User < Active Record::Base attr_protected :id scope :search_names_or, l
一週間悩んで、やっと分かったのでメモ。 こういうSQLの場合、前者よりも後者の方が速いです。 SELECT * FROM FooTable LEFT OUTER JOIN BarTable1 ON FooTable.ID = BarTable1.ID LEFT OUTER JOIN BarTable2 ON BarTable1.F_ID = BarTable2.ID LEFT OUTER JOIN BarTable3 ON BarTable2.F_ID = BarTable3.ID LEFT OUTER JOIN BarTable4 ON BarTable3.F_ID = BarTable4.ID LEFT OUTER JOIN BarTable5 ON BarTable4.F_ID = BarTable5.ID WHERE FooTable.Name = ? OR BarTable5.N
# Rails 4.1.10 scope1 = User.where(sex: 'male', age: 18) scope2 = User.where(sex: 'female', age: 16) # 条件ごとに括弧をつけるために Arel::FactoryMethods#grouping を使う。 condition1 = User.arel_table.grouping(scope1.where_values.reduce(:and)) condition2 = User.arel_table.grouping(scope2.where_values.reduce(:and)) User.where(condition1.or(condition2)).to_sql #=> "SELECT `users`.* FROM `users` WHERE ((`users`.`sex` =
Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26) データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24) 本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21) 日本オラクルのデータベーススペシャリストが「DBAがすぐ
if (条件) { return 20; } else { return 30; } ↓ if (条件) return 20; return 30; こうすれば確かにネストは浅くなりますが、いつも毎回こう書く方がよいのでしょうか? elseを書いた方がよいケースもあるのではないか 条件の部分が特殊・例外的な場合は、確かにこの方がわかりやすいと思います。 例えば、スーパーマリオで、マリオの状態が「無敵・チビ・大きい」の3種類しかないとします。 敵に触れたときの挙動を関数として書きます。 (オブジェクト指向っぽくないかもしれませんが、本記事の主眼はif-elseの書き方です。) function () { if (マリオ.is無敵モード) { 敵.死ぬ(); return ; } //以下、通常モードの場合のコードを書く } 無敵モードは特殊な状態だから、これはよいと思います。 しかし、マリオ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く