[pgsql-jp: 26806] Null値と別名の扱い方について教えて下さい。

js jsibasaki @ mx5.tiki.ne.jp
2002年 7月 24日 (水) 11:37:22 JST


入出庫(t_smeisai)と商品情報(t_ms2)テーブルからNull値をかわして下記のような現
在庫を求めるSQL文を書いてみました。
ところが、psqlでのSQL文はMS-ACCESSのODBC経由で利用できないのと
逆にMS-ACCESSでpsqlで使ったSQL文は使えませんでした。

これはケースバイケースでインターフェースが変わればSQL文も変わるということな
のでしょうか?
それともMS-ACCESSのSQL文が特殊なのでしょうか?

MS-ACCESS経由で利用する場合、何かおかしいことが起きると何かで見たような気が
します。
10万件以上のテーブルに対してSQLを飛ばすと異様に時間が掛かるとか、聞いたよう
な気もします。

また、psqlでは 入庫計 - 出庫計 という別名を用いた計算をすると not found と
なります。
別名を使ってスッキリした構文がありましたら教えて下さい。
よろしくお願い致します。

psql:

SELECT t_ms2.商品コード,商品名,

CASE WHEN SUM(入庫数) IS Null THEN 0 ELSE SUM(入庫数) END AS 入庫計 ,

CASE WHEN SUM(出庫数) IS Null THEN 0 ELSE SUM(出庫数) END AS 出庫計 ,

CASE WHEN SUM(入庫数) IS Null THEN 0 ELSE SUM(入庫数) END
-
CASE WHEN SUM(出庫数) IS Null THEN 0 ELSE SUM(出庫数) END AS 現在庫

FROM t_ms2 LEFT JOIN t_smeisai

ON t_ms2.商品コード = t_smeisai.商品コード

GROUP BY t_ms2.商品コード,商品名;

********************************************

MS-ACCESS:

SELECT t_ms2.商品コード, t_ms2.商品名,

iif(Sum(t_smeisai.出庫数) IS NULL,0,Sum(t_smeisai.出庫数)) AS 出庫計,

iif(Sum(t_smeisai.入庫数) IS NULL,0,Sum(t_smeisai.入庫数)) AS 入庫計,

入庫計 - 出庫計 AS 現在庫数

FROM t_ms2 LEFT JOIN t_smeisai ON t_ms2.商品コード = t_smeisai.商品コード

GROUP BY t_ms2.商品コード, t_ms2.商品名;






pgsql-jp メーリングリストの案内