2017-11-22 10 views
1

ローカライゼーション文字列を含むEnglishTextというテーブルがあります。名前、説明などのプロパティを持つ他の多くのテーブル(1つの例はBuildingsテーブル)があります。ローカリゼーションテーブルの英語の文字列にマップされるキー。2つのテーブルを結合して値を置換する

EnglishTextテーブル Screenshot of EnglishText table

タグの欄には、私が欲しい英語の文字列を持つテキスト列とキー、です。

建物テーブルようEnglishTextテーブルのタグ欄に名前、PrereqTech、及びPrereqCivicマップとして Screenshot of Buildings table

列。

私はそれは名前、PrereqTech、および他の分野での英語のテキストではなく、EnglishTextテーブルにキーを返すと、そのような

SELECT * FROM Buildings; 

としてクエリを実行できるようにしたいと思います。これは可能ですか?

enter image description here

そして: - - を:

+0

EnglishTextテーブルには、** LOC_BUILDING_MONUMENT_NAME **(1行目のマッピング、BuildingsテーブルからEnglishtextテーブルへの列名)、** TECH_BRONZE_WORKING **(3番目のマッピング行、列のPreReqTechを英語のテキストに変換する)など? – MikeT

+0

はい、まさに! Buildingsテーブルの各行には、EnglishTextテーブルの文字列にマップされる複数のキーがあります。 –

答えて

1

はい、と仮定すると、/使用後

enter image description here

SELECT Name, _text FROM Buildings JOIN english_text ON name = _tag

の結果に: -

enter image description here

それとも

SELECT * FROM Buildings JOIN english_text ON name = _tag OR PreReqtech = _tag

結果で: - しかし

enter image description here

、私はあなたが単一の場合がありますことを疑います行ごとすべてのマッピングを使ってビルドすることができます(可能性がありますが、english_textテーブルの単一の列へのマッピングのために複雑かもしれません)

+0

ありがとうございました!実際にキーを英語の文字列に置き換える方が簡単かもしれません。私は、編集することなくこれを行う簡単な方法があることを期待していました。テキストが複数回使用された場合、例えば、 –

+0

が有益である。 PreReqTechとCivicはおそらく利益を得ることができます。しかし、おそらく別のテーブルにあります。 – MikeT

0

構造を考えれば、ユーザー定義の関数ルックアップを作成して、英語のテキスト。次に、その関数を選択した各列に適用します。

+0

それもうまくいくでしょうが、それほど難しくありません。私はおそらくこのルートを行くでしょう。ありがとうございました! –

関連する問題