2
select g.id, ifnull(s.count, 0)
from t_goods g
left join v_stock s on g.id = s.id

この sql はうまく機能し、ビューを作成します。

create or drop view v_goods_stock as
select g.id, ifnull(s.count, 0)
from t_goods g
left join v_stock s on g.id = s.id

エラーが発生します:

[Err] 1064 - SQL 構文にエラーがあります

私のmysqlバージョンは5.5です。

このようにifnull関数を削除しようとします

create or drop view v_goods_stock as select g.id id, s.count c from t_goods g left join v_stock s on g.id = s.id

それでも同じエラーが発生します。

4

2 に答える 2

2

計算値に列名を付ける必要があります。

create or replace view v_goods_stock as
select g.id, ifnull(s.count, 0) as count
from t_goods g  
left join v_stock s on g.id = s.id

デフォルトの列名は式自体ifnull(s.count, 0)であり、有効な名前ではありません (括弧、コンマなどを含む)

于 2013-04-21T02:25:58.370 に答える