所以在一张table上我可以用 replace
以及 charindex
要提取与另一个表中的pk相关的特定id,我想根据修剪后的值连接另一个表中的数据,我该如何做?
select top 100 *, Replace(Left(LogValue,Charindex(';', LogValue) - 1) ,'RtaId=', '') as TaskID, PrmRoutingTask.*
from SytLog
inner join PrmRoutingTask on RtaId = TaskID
where LogTableName like '%Routing%' and LogValue like '%RtaAniId=397%'
order by 5 desc;
我遇到的问题是我创建的temp列名( TaskID
)在内部联接中不起作用,实际上taskid的结果引用了 RtaId
在 RoutingTask
table。
1条答案
按热度按时间2exbekwf1#
假设
LogValue
属于第一个表,可以使用名为TaskID
如果生成子查询作为主查询的表表达式。例如,可以在表表达式中生成列
a
通过这样做: