2017-07-07 21 views
0

という名前の列の一連の表に、カスタム作成のindex_tableを索引付けしました。 index_tableの列の値を使用して特定の表を選択したいとします。sqliteの列の値からテーブル名を取得するには?

マイクエリ:

SELECT * FROM (SELECT title FROM index_table WHERE rowid = 1); 

この行SELECT title FROM index_table WHERE rowid = 1は私がSELECT *したいからテーブルの名前が含まれています。

ただし、このコードは機能しません。 index_tableから選択した列の値のみを返します。

列の値からテーブルを選択するにはどうすればよいですか?

答えて

2

あなたは、私が精通していいかなるRDMSで何をしようとして行うことはできません。変数やサブクエリを使用して列名やテーブル名を設定することはできません。

  1. アプリケーションロジックには2つのステップを使用します。 1つはテーブル名を取得し、2つ目はクエリをビルドして実行します。

  2. いくつかのトリッキーを使用します。利用可能なスキーマなしであなたのためのクエリを構築するのは難しいですが、以下のようなものは同等の処理を行う必要があります。

select 
    title_table.* 
from 
    title_table 
    join index_table 
     on title_table.id = index_table.id 
where 
    index_table.rowid = 1 
関連する問題