SQL・・・

データを持ってくるときに存在しない場合は0かNullを入れた値を返すようにしたひ・・・

やりたいのは以下のコードの

select	x.1,x.2,x.3,y.1,y.2,y.3
from	x,y
where	x=@input

DataGrid.DataSource = ExecuteReader;
DataGrid.DataBind();

yのテーブルが無いときにy1,y2,y3に任意の値
例えば”ありません”とか'-'とかを入れたいのでs
どなたかお助けぉ

select	x.1,x.2,x.3,
	coalesce(y.1,"-"),
	coalesce(y.2,"ねーよ"),
	coalesce(y.3,"だから無いってば")
from	x,y
where	x=@input

DataGrid.DataSource = ExecuteReader;
DataGrid.DataBind();

だとy1が無いときにy1のフィールド名が消えてしまう為ダメでした・・・

追記

Bindのイベントハンドラーやら
DataGridのDataSourceやら調べた挙句
結局SQL文で下記のようにして解決

select x.1,x.2,x.3
coalesce(y.1,'-') as Y1,
coalesce(y.2,0) as Y2,
coalesce(y.3,0) as Y3
from x full join y
on x.1=y.1
where x.1=@input