我想你想所有的任何名称语言1(缺省值)的行与语言2(仅当我存在)的值,因此:
表:
create table `lang`
(
id int,
lang_id int,
name varchar(20),
description varchar(255)
);
个
一些数据:
insert into `lang` (id, lang_id, name, description) values
(1, 1, 'language', 'English'),
(2, 2, 'language', 'Português'),
(3, 1, 'title', 'My Project'),
(4, 2, 'title', 'Meu Projeto'),
(5, 1, 'var1', 'My English only variable');
查询:
select
c1.name, coalesce(c2.description, c1.description) as description
from lang c1
left join lang c2 on c1.name = c2.name and c2.lang_id = 2
where c1.lang_id = 1
其结果是:
name | description
language | Português
title | Meu Projeto
var1 | My English only variable
SQL Fiddle
你如何定义选择? – Mujahidh
请把一些样品 –
你怎么知道两行实际上是不同语言的同名? – Selcuk