0

これが私のコードです

SELECT
IF(or_opp.has_something = 1, metric.a, NULL) as a,
IF(or_opp.has_something = 1, metric.b, NULL) as b,
IF(or_opp.has_something = 1, metric.c, NULL) as c,
IF(or_opp.has_something = 1, metric.d, NULL) as d,

これを書く方法はありor_opp.has_somethingますか?一度だけチェックする必要がありますか?

編集:(パフォーマンス上の理由から)

4

2 に答える 2

0

多分ただする

SELECT
or_opp.has_something as test,
metric.a as a,
metric.b as b,
metric.c as c,
metric.d as d,

次に、スクリプト言語(PHPだと思います)で、行をフェッチするときに:

if ($row['test'] != 1)
{
  // consider that a, b, c, d are NULL
}
于 2012-11-12T16:28:17.350 に答える
0

私は問題を理解していませんでしたか、それとも WHERE 句に入れて SELECT に a,b,c,d を出力できませんでしたか?

おそらくクエリ全体を投稿してください。

于 2012-11-12T17:05:18.707 に答える