• 締切済み

再投稿:フィールドの値をテーブル名&フィールド名にして参照したい

すみません。若干記入ミスだったので再投稿します。 こちらにご解答お願いします。 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 ; とやってみたのですが、うまくできませんでした。 ご教示お願いします。

みんなの回答

回答No.1

まず、前の質問を締め切ってください。今のままでは、マルチポスト扱いになります。 RDBMSは、SQL Serverでいいのでしょうか?バージョンは、何でしょうか? 提示されたSQLは、相当にデタラメになっています。 表のデータ例、得たい結果例を示してください。