2

これらのテーブルを含むデータベースがあります。

languages: id, name
countries: id, name
country_languages: id, country_id, language_id

次のフィールドを持つテーブルを提供するクエリが必要です。

language_id
language_name
active

すべての言語が結果に含まれるはずです。ただし、この言語がその国で話されているid=39場合、active列は true である必要があり、それ以外の場合は false である必要があります。でそのようなクエリを作成する簡単な方法はありますmysqlか?

ありがとう

4

1 に答える 1

1

langaugesを使用してマッピング テーブルと照合left outer joinし、マッピング テーブルのid列を調べて、一致するか ( active = 1)、一致しないか ( active = 0) を確認します。

select distinct
    l.id
    , l.name
    , case when cl.id is null then 0 else 1 end as active
from languages l left outer join country_languages cl
    on l.id = cl.language_id
where cl.id = 39
于 2013-06-19T12:25:22.757 に答える