ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3771294 再投稿:フィールドの値をテーブル名&フィールド名にして参照したい
質問者:chiki999 すみません。若干記入ミスだったので再投稿します。
こちらにご解答お願いします。

TABLE_a
・Ta_id
・key_table
・key_field
・key_no

TABLE_b
・Tb_id
・Tb_name

TABLE_c
・Tc_id
・Tc_name

と3つのテーブルがあり、
key_tableに「TABLE_b」、key_fieldに「Tb_id」が入ってて、
TABLE_aとTABLE_bを select の left join して抽出したい場合、
どういうSQL文になるのでしょうか。

select * from TABLE_a
left join
case key_table
when 'TABLE_b' then 'TABLE_b'
when 'TABLE_c' then 'TABLE_c'
end
on
'TABLE_a.key_field'.key_no =
case key_table
when 'TABLE_b' then ''TABLE_a.key_table'.Tb_id'
when 'TABLE_c' then ''TABLE_a.key_table'.Tc_id'
end
;

とやってみたのですが、うまくできませんでした。
ご教示お願いします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/02/13 09:46
この質問に対する回答は締め切られました。

回答

ANo.1 まず、前の質問を締め切ってください。今のままでは、マルチポスト扱いになります。

RDBMSは、SQL Serverでいいのでしょうか?バージョンは、何でしょうか?

提示されたSQLは、相当にデタラメになっています。
表のデータ例、得たい結果例を示してください。
回答者:chukenkenkou
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:
08/02/14 13:56
この回答へのお礼この回答にお礼をつける(質問者のみ)