[PHP-users 7658] Re: sqlによる計算結果の参照方法

Tatsuya Matsuyama php-users@php.gr.jp
Fri, 24 May 2002 06:48:19 +0900


松山です。
遅いレスで申し訳ありませんが...

----- Original Message ----- 
Sent: Wednesday, May 15, 2002 6:20 PM
Subject: [PHP-users 7464] Re: sqlによる計算結果の参照方法


> > > を "select max(id) as maxid from project_touroku1"として名前をつければ
> > > $data->maxidなどで参照できるのではないですか?
> >
> >
> > 試してみましたが、$data->$idのときと同じものが返りました。

↑これは、NGだったのですが、
別のところで

$sql="select sum(sanka_flag) as total_flags from project_touroku1where jyugyouin_id = '$userid'"
$result = sybase_query($sql, $dbHandle);
$data   = sybase_fetch_object($result);
$total_flags = 1*($data->total_flags);

は希望の数値を得ることができました。

要は、ご指摘いただいたようにas句で名称をつけることにあるようです。
  sumでOKでmaxがNG理由はよく分かりません。
1*は縁起モノです.

> >
> > 簡単にはいきそうもないので、
> > あきらめてsqlを工夫して別のアプローチをとってみます。

@@IDENTITYを使う方法です。
これは、これでウマク動きました。

> 
> $row = sybase_fetch_row($result);
> $maxid  = $row[0];
> 

↑これで、動くことを期待したのですが、
as句の*別名*で参照しないとダメなようです。