SQL Script帮助,将两个查询合并为一个

时间:2010-06-29 18:49:22

标签: sql sql-server

我想知道这两个查询是否可以组合成一个查询?

查询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

的表

感谢您提供任何帮助,这是我已经获得的,它提供了我需要的数据,但是在两个单独的查询中。

1 个答案:

答案 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

<击>