【发布时间】:2015-11-05 06:37:29
【问题描述】:
我有两张桌子
表1
ID . Name . Position
= = = = = = = = = = = =
10 . Mike . Analyst
20 . Anna . HR
30 . Mark . Accountant
表2
Deal ID . Status
= = = = = = = = = = = =
10 . . . . . Active
19 . . . . . New
20 . . . . . New
我想用这个逻辑在 Table1 中添加一个新的计算列:
如果在 Table2 中找到 ID,则返回 Position,否则返回“NONE”
所以输出表应该是这样的
输出
ID . Name . Position . . . . **NewCol**
= = = = = = = = = = = = = = = = =
10 . Mike . Analyst . . . . . **Analyst**
20 . Anna . HR . . . . . . . . **HR**
30 . Mark . Accountant. . **NONE**
【问题讨论】:
-
SO上有这么多可用的解决方案?
-
我试过这个 ALTER TABLE Table1 ADD newcolumn AS Case When Table1.ID in Table2.Deal ID then Table1.position else 'None' end - 但它不起作用
-
对不起,我是 SQL 编码的新手——任何答案都会有所帮助。 SO是什么?
-
我不确定您是否可以使用生成的列完成您需要的操作,请参阅 13.1.14 CREATE TABLE Syntax 中的
Generated column expressions must adhere to the following rules.。一种选择是使用基列(非生成)和触发器。
标签: mysql sql calculated-columns