我想知道这两个查询是否可以组合成一个查询?
查询1:将@guidID插入查询2:
DECLARE @guidID uniqueIdentifier
SET @guidID = (SELECT guidID FROM dbo.table1 WHERE IntID = 1)
查询2:从函数和table1
中检索组合表SELECT o.guidID, IntID, Title, func.Name
FROM dbo.table1 o
INNER JOIN dbo.func1(o.guidID) func ON func.guidID = o.guidID
WHERE IntID = 1
func1接受一个guidID对象 返回(guidID,IntID
的表感谢您提供任何帮助,这是我已经获得的,它提供了我需要的数据,但是在两个单独的查询中。
答案 0 :(得分:2)
SQL Server 2005+具有CROSS APPLY
SELECT t.guidID, IntID, Title, func.Name
FROM
dbo.table1 o
CROSS APPLY
dbo.func1(o.guidID) func
WHERE IntID = 1
编辑:无效......
但是,假设您有一行IntID = 1,您还可以跨其他DBMS /旧SQL Server交叉连接
SELECT t.guidID, IntID, Title, func.Name
FROM
dbo.table1 o
CROSS JOIN
dbo.func1(o.guidID) func
WHERE IntID = 1
击> <击> 撞击>