2016-04-03 48 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 –