SQL选择指定列

时间:2016-04-03 22:58:11

标签: sql sql-server select

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

现在,我想传输特定列的值。

如果有“德语”语言,则应选择“德语”栏 相反,如果这种语言是“英语”,那么当然是“英语”栏目。

所以我想根据语言映射选择正确的列。

表:

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

客户德国人PK = 2,所以他得到“Garten” 客户ENGLISH chouse PK = 1,因此他得到“house”。

THX

2 个答案:

答案 0 :(得分:1)

添加客户表

    customerId  Name
       1        English 
       2        German

- 添加fk_constraint customer-customerid

 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

答案 1 :(得分:0)

选择colName1,colName2    来自tableName