2012-03-20 9 views
0

から変数が含まれている場合、私はテーブルSQLクエリ更新列配列

id/product_id/var/active/price 

のvar列iが設定値に価格の列を変更したい:

e.g. (37:48:80) 

で区切られた3つの変数が含まれているを持っていますvarに正しいオプションが含まれている場合

UPDATE 'price' = 450 
    WHERE 'var' = 33:array(38,41 etc):array(57,58 etc) 

:私は私の非常に悪いSQLは次のようになり最初の可変の第2の変数の配列とあればマッチした更新価格

に合格したい

33:38:57 through to 80 would = 450 
33:39:57 through to 80 would = 0 
33:40:57 through to 80 would = 0 
33:41:57 through to 80 would = 450 

すなわち

私は本当に間違っていることを知っていますが、私は何をしようとしているのか理解するのに役立つかもしれません

+0

なぜ最初にデータベースの1つのフィールドに3つの値がありますか? – kba

+0

そのオープンカートは非常に迷惑になる –

+1

私たちにいくつかのコードを見せてください。あなたはどんな入力を期待していますか? – kba

答えて

0

私はかなりthrough to 80を取得していませんが、私はあなたのクエリ(私は推測する...)のアイデアを得る。私はちょっと正規表現が嫌いですが、これを解決する正しいツールのようです。これを試してみてください:

update t set price = 450 
where var regexp '^33:(38|41):(57|58)$' 
+0

おかげさまで80歳までのおかげで57,58 ... 79,80 –