![](/img/trans.png)
[英]SQL Server 2000 - Returning a single column value from a 4 column table based on the values of the other 3 columns
[英]How to use different column values from other table based on value on current table column in SQL server
我有一个带有[代理名称]和[进行者]列的表A
我还有另一个表B,其中包含[代理商名称],[经理]和[SDI]列
我需要类似下表的结果
结果表基于表A和表B。如果表A中的[Conducted]字段值是0,那么我需要从表B中获取[manager]列值,否则,如果我的A表中的[conducted]列值是1,那么我需要从表B中获取[SDI]列值。我如何实现这一点?
提前感谢
尝试这个:
SELECT
a.agentName,
CASE
WHEN a.conductedBy=0 THEN b.manager
ELSE b.sdi
END AS conductedBy
FROM tableA AS a
JOIN tableB AS b ON a.agentName=b.agentName
或这个:
SELECT
a.agentName,
CASE a.conductedBy
WHEN 0 THEN b.manager
ELSE b.sdi
END AS conductedBy
FROM tableA AS a
JOIN tableB AS b ON a.agentName=b.agentName
仅用于mysql工作:
SELECT
a.agentName,
IF(a.conductedBy=0, b.manager, b.sdi) AS conductedBy
FROM tableA AS a
JOIN tableB AS b ON a.agentName=b.agentName
您可以使用case
语句:
case when ConductedBy = 0 then [Manager] when ConductedBy = 1 then [SDI] end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.