从SQL Server中的一个参数中的两个不同表中获取数据

时间:2018-05-02 20:29:19

标签: sql-server tsql

如何使用一个参数@TAG,从两个不同的列派生数据。如果表A中的Tag_ID不存在,则使用表B中的Tag_NUMBER而不是创建两个单独的存储过程,如果存在Tag_Number,如何使Tag_ID成为可选项反之亦然?

1 个答案:

答案 0 :(得分:0)

假设结构简单,这里有一个相当简单的方法概述:

CREATE PROCEDURE MyProc
    @Tag    int
AS

    SELECT *
     from FirstTable
     where Tag_ID = @Tag

    IF @@rowcount = 0
        SELECT *
         from SecondTable
         where Tag_Number = @Tag

RETURN

并且,是的,样本数据和首选输出的示例可能表明这不会有效。