繁体   English   中英

SQL Server-在另一个表中查找派生的列并返回一个值

[英]SQL SERVER- Lookup a derived column in another table and return a value

我有一个查询,该查询具有使用concat函数获得的列(PROCESS)。 现在,我需要在另一张表(Table2)上的列中查找此列,然后从同一张表(表2)中返回一个值。

查询: 在此处输入图片说明

我的当前输出将如下所示。 在此处输入图片说明

我有一个像这样的参考表。

在此处输入图片说明

我需要在“类型”(参考表)中查找“过程”(查询结果),并在“过程列”中返回“描述”(参考表)。

最终输出应如下所示 在此处输入图片说明

我无法弄清楚如何修改我的查询来执行此操作。 请帮助。

您需要加入 根据连接的值将参考表与其他查询连接,您可以显示所需的描述。

FROM #Source As s) D INNER JOIN [Reference Table] AS rt ON d.Process = rt.type

对于具有JOIN条件的嵌套查询,您需要在SourceReference表之间建立INNER JOIN ,如下所示:

SELECT ... -- all columns of your queries outer part
(
SELECT s.Date, s.Station, s.worktype, s.tasktype, description as process, ....
  FROM source s
  INNER JOIN reference r on ( concat(s.worktype,s.tasktype) = r.type ) 
 ) D
 GROUP BY D.date, D.station, D.worktype, D.accountno;

SQL小提琴演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM