mysql:13624
From: taki <taki <taki@xxxxxxxxxx>>
Date: Fri, 15 Dec 2006 14:05:16 +0900
Subject: [mysql 13624] Re: 値が null 以外のフィールドを抽出したいのですが
たきです。 テーブルデザインを変更できない。最適化再設計が出来ない場合など。 以下の方法で抽出してみてはどうでしょうか?強引ですが。 select concat( if(A is null, '', concat('', A)), if(B is null, '', concat(':',B)), if(C is null, '', concat(':',C)), if(D is null, '', concat(':',D)), if(E is null, '', concat(':',E)), if(F is null, '', concat(':',F)), ... if(Z is null, '', concat(':',Z)) ) as catstr from word where A = '条件' ; 例ではcatstrというカラム名で結果が':'で区切られて返ります。 PHPのsplit(':', 結果)で分割すればいいかとおもいますが。 ':'は'\t'でタブにも変更できますので適した文字で区切ってください。 皆さんも言われているように、これから設計して構築するのでしたら、 是非、データモデリングを再設計することをお勧めします。 On Fri, 15 Dec 2006 09:36:36 +0900 (JST) syokora <ryuubi_1109@xxxxxxxxxx> wrote: > テーブル名:word > A B C D F・・・フィールド > PC IP UDP null null > TCP MAC ARP RIP null > > として、PCという値のあるレコードを取り出す際に、null以外 > つまり、 フィールドA,B,Cのみを取り出したいのですが。 -- taki <taki@xxxxxxxxxx>
13616 2006-12-14 23:12 [syokora <ryuubi_1109] 値が null 以外のフィールドを抽出したいのですが 13617 2006-12-15 09:13 ┣[Tatematsu <tatemax@x] 13618 2006-12-15 09:14 ┗[高橋政利 <takahashi@] 13619 2006-12-15 09:36 ┗[syokora <ryuubi_1109] 13620 2006-12-15 10:55 ┣[Tatematsu <tatemax@x] 13621 2006-12-15 11:38 ┣[土田 崇 <takatsuchid] 13622 2006-12-15 12:00 ┃┗[syokora <ryuubi_1109] 13623 2006-12-15 12:23 ┃ ┗[高橋政利 <takahashi@] -> 13624 2006-12-15 14:05 ┗[taki <taki@xxxxxxxxx] 13625 2006-12-16 17:26 ┗[bisuke <ryuubi_1109@]