2016-04-03 96 views
1

我有一个包含3列的表:PrimaryKey,“German”和“Englisch”。
有翻译。SQL选择指定列

现在,我想转移特定列的值。

如果有语言“德国”,那么它schould选择列“德语。
反之,如果这种语言‘英语’,那么当然,列‘英语’。

所以我想选择根据语言映射右列

表:。

-----------+--------+--------- 
|PrimaryKey|German | English| 
-----------+--------+--------- 
|1   | Haus | house | 
-----------+--------+--------- 
|2   | Garten | garden | 
-----------+--------+--------- 
|3   | Apfel | apple | 
-----------+--------+--------- 

客户GERMAN chouse PK = 2,所以他得到 “Garten
Customer English chouse PK = 1,所以他得到“house”。

THX

+2

你需要的客户表,以便可以按客户过滤 – Dejan

回答

0

选择colName1,colName2 从表名

+0

我想你'重新误解OP的问题。他对结果集中的所有德语和英语条目都不感兴趣。他想有条件地选择。 – MarsAtomic

1

添加客户表

customerId Name 
     1  English 
     2  German 

--add fk_constraint客户客户ID

SELECT 

    case when customer = 1 then t.English else t.German end as [Language] 
    --or 
    case when c.Name = 'English' then t.English else t.German end as [Language] 

    FROM translations as t 
    INNER JOIN customer as c on c.customerID = t.customer 
+0

我的问题在这里更详细: http://stackoverflow.com/questions/36402128/sql-select-a-specify-language-column 我希望有人能帮助我。 –

+0

@TimoHügel如果这篇文章帮助你标记为答案 – Dejan

+0

不完美,看看这里: http://stackoverflow.com/questions/36402128/sql-select-a-specify-language-column –