我有一个我试图运行的嵌套查询;但是我必须用-1来筛选数字我有以下内容:
update invoices set type = 5 where tranno like dbo._fnStripLeadZeroes((
select invoice_number from [bob.jupiter.com].webap.dbo.billinglog)) + '-1'
使用invoice_number(varchar15)和tranno(varchar10)
我正确地接近这个吗?答案 0 :(得分:1)
这不应该是嵌套查询。您想要的是将发票表连接到billingLog表以确定要加入的行。
使用'update / set / from / where'语法,您可以在更新中使用连接,并且可以很好地读取。
我使用了一个公用表表达式[the; with billing as(..)]部分来帮助简化您的查询。
最后,我将LIKE更改为'=',因为你没有使用通配符,所以类似的东西无论如何都是等于。
;with billing as
(
select dbo._fnStripLeadZeros(invoice_number) + '-1' as invoice_number
from [bob.jupiter.com].webapp.dbo.billinglog
)
update inv
set inv.type = 5
from invoices inv
inner join billing b
on (inv.tranno = b.invoice_number )