连接表列中的访问函数返回值

时间:2010-09-14 20:51:34

标签: sql sql-server-2005

部分选择语句是:

SELECT t1.Column1, t1.Column2, **"Column3"** = dbo.FunctionName(Column1, Column2)
  FROM Table1 t1

现在我想在上面的查询中加入Table2,但是join需要“Column3” = Table2。 Column3 ;类似下面的查询,它不起作用以及如何实现。

SELECT t1.Column1, t1.Column2, Column3 = dbo.FunctionName(Column1, Column2),
       t2.Abc, t2.bcd
  FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t2.Column3 = ????

提前致谢。

1 个答案:

答案 0 :(得分:0)

你试过吗

SELECT 
          t1.Column1, 
          t1.Column2, 
          Column3 = dbo.FunctionName(Column1, Column2)
          t2.Abc, t2.bcd
FROM
          Table1 t1 
          LEFT OUTER JOIN Table2 t2 
          ON t2.Column3 = dbo.FunctionName(t1.Column1, t1.Column2)

这也应该有用

SELECT 
      t1.Column1, 
      t1.Column2, 
      t1.Column3,  
      t2.Abc, 
      t2.bcd
 FROM 
    Table2 t2 LEFT JOIN JOIN 
 (SELECT t1.Column1, t1.Column2, Column3 = dbo.FunctionName(Column1, Column2)
  FROM Table1 t1) t1
  ON t2.Column3 = t1.Column3