0

PostgreSQL データベースに 2 つのテーブルがあります。最初のテーブルには ID と最大 200 文字のテキスト フィールドが含まれ、2 番目のテーブルにはデータ定義テーブルが含まれます。このテーブルには、スマイリーまたは頭字語を含む列と、それらを読みやすい英語に変換する 2 番目の列があります。

テーブル 1 のレコード数は約 1200 で、テーブル 2 のレコード数は約 300 です。テーブル 1 の列 1 で話されているテキストを、テーブル 2 の定義に基づいて通常の読み取り可能な言語に変換する SQL ステートメントを作成したいと考えています。 .

たとえば、テーブル 1 の値が次のように読み取られた場合: Final Finished :) 変換された SQL は次のようになります

スマイリーは、1 列目のテキストのどこにでもあり、300 文字のいずれかであることに注意してください。

これが可能かどうか誰にもわかりますか?

4

1 に答える 1

0

はい。それを完全に SQL で行いたいですか、それとも簡単なコードを書いてこれを行いますか? SQLですべてを行う方法は完全にはわかりませんが、以下のようなものを検討します:

SELECT row.textToTranslate FROM Table_1
oldText = row.textToTranslate
Split row.textToTranslate by some delimeter
For each word in row.textToTranslate:
    queryResult = SELECT FROM Table_2 WHERE pretranslate=word
    if(queryResult!=Null)
        modifiedText = textToTranslate.replace(word, queryResult) 
UPDATE Table_1 SET translatedText=modifiedText WHERE textToTranslate=oldText
于 2013-01-07T10:38:50.617 に答える