1

英語のカテゴリ名用とスペイン語のカテゴリ名用の 2 つのテーブルがあります。

管理者が翻訳を提供する必要がある英語のカテゴリを確認できる小さなインターフェイスを作成しようとしています。

スペイン語のカテゴリを作成すると、英語のカテゴリのIDを引き継ぐものとして書きます。

対応するカテゴリの結果セットを取得するには、次のクエリを使用します。

SELECT tbl_cms_categories_en.id as id, 
   tbl_cms_categories_en.name as en, 
   tbl_cms_categories_es.name as es 
FROM   tbl_cms_categories_en, tbl_cms_categories_es 
WHERE  tbl_cms_categories_en.id = tbl_cms_categories_es.id

これにより、適切なエントリのリストが返されます。

ここに画像の説明を入力

これは私の目的を十分に果たしますが、欠点が 1 つあります。スペイン語のテーブルに行がない場合、派生行はまったく返されません。

英語のテーブルに行があり、スペイン語のテーブルに行がない場合、派生行を返して「翻訳が見つかりません」と言うようにクエリを変更するにはどうすればよいですか。

に似ています:

ID = 8, en = "Security", es = "Translation Not Found"

ガイダンスをいただければ幸いです。

ありがとう!

4

2 に答える 2

4

試す

SELECT tbl_cms_categories_en.id as id, 
   en.name as en_name, 
   IF(es.name IS NULL, "No Translation Found", es.name) as es_name 
FROM   tbl_cms_categories_en AS en
LEFT JOIN tbl_cms_categories_es AS es
    ON tbl_cms_categories_en.id = tbl_cms_categories_es.id
于 2012-04-04T23:56:04.733 に答える
0

すべてのスペイン語行のデフォルト値を「翻訳が見つかりません」に設定してみませんか?

ただの提案...

于 2012-04-04T23:58:50.960 に答える