Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 检查是否存在查询并获取结果(1个查询)_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 检查是否存在查询并获取结果(1个查询)

Sql 检查是否存在查询并获取结果(1个查询),sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图检查一个值是否存在;问题是我不想因为速度问题而运行两次查询。有人知道如何在不运行两次的情况下获得此查询的结果吗?见下面的例子 if exists(select [row1],[row2] from [tablename] where [row2] = 'myvariable') BEGIN PRINT 'EXISTS' // -- GET VALUE OF ROW 2 without running another query END ELSE BEGIN PRI

我试图检查一个值是否存在;问题是我不想因为速度问题而运行两次查询。有人知道如何在不运行两次的情况下获得此查询的结果吗?见下面的例子

if exists(select [row1],[row2] from [tablename] where [row2] = 'myvariable')

BEGIN
    PRINT 'EXISTS'
    // -- GET VALUE OF ROW 2 without running another query
END
ELSE
BEGIN
    PRINT 'DOES NOT EXIST' 
END

一种可能性是:使用临时表

SELECT  [row1]
      , [row2]
INTO    #tmp
FROM    [tablename]
WHERE   [row2] = 'myvariable'


IF EXISTS ( SELECT  *
            FROM    #tmp )
    BEGIN
        PRINT 'EXISTS'
        SELECT  row2
        FROM    #tmp t
    END
ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

一种可能性是:使用临时表

SELECT  [row1]
      , [row2]
INTO    #tmp
FROM    [tablename]
WHERE   [row2] = 'myvariable'


IF EXISTS ( SELECT  *
            FROM    #tmp )
    BEGIN
        PRINT 'EXISTS'
        SELECT  row2
        FROM    #tmp t
    END
ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

一种可能性是:使用临时表

SELECT  [row1]
      , [row2]
INTO    #tmp
FROM    [tablename]
WHERE   [row2] = 'myvariable'


IF EXISTS ( SELECT  *
            FROM    #tmp )
    BEGIN
        PRINT 'EXISTS'
        SELECT  row2
        FROM    #tmp t
    END
ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

一种可能性是:使用临时表

SELECT  [row1]
      , [row2]
INTO    #tmp
FROM    [tablename]
WHERE   [row2] = 'myvariable'


IF EXISTS ( SELECT  *
            FROM    #tmp )
    BEGIN
        PRINT 'EXISTS'
        SELECT  row2
        FROM    #tmp t
    END
ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

为了提高速度,并避免两次查询相同的数据,请尝试此方法。它在逻辑检查中只返回一行,您不必从表中提取数据。在本例中,当列[row2]='myvariable'时,我返回了'whatever'

    if exists(select top 1 'whatever' from [tablename] where [row2] = 'myvariable')

    BEGIN
        PRINT 'EXISTS'
        // -- GET VALUE OF ROW 2 without running another query
    END
    ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

为了提高速度,并避免两次查询相同的数据,请尝试此方法。它在逻辑检查中只返回一行,您不必从表中提取数据。在本例中,当列[row2]='myvariable'时,我返回了'whatever'

    if exists(select top 1 'whatever' from [tablename] where [row2] = 'myvariable')

    BEGIN
        PRINT 'EXISTS'
        // -- GET VALUE OF ROW 2 without running another query
    END
    ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

为了提高速度,并避免两次查询相同的数据,请尝试此方法。它在逻辑检查中只返回一行,您不必从表中提取数据。在本例中,当列[row2]='myvariable'时,我返回了'whatever'

    if exists(select top 1 'whatever' from [tablename] where [row2] = 'myvariable')

    BEGIN
        PRINT 'EXISTS'
        // -- GET VALUE OF ROW 2 without running another query
    END
    ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

为了提高速度,并避免两次查询相同的数据,请尝试此方法。它在逻辑检查中只返回一行,您不必从表中提取数据。在本例中,当列[row2]='myvariable'时,我返回了'whatever'

    if exists(select top 1 'whatever' from [tablename] where [row2] = 'myvariable')

    BEGIN
        PRINT 'EXISTS'
        // -- GET VALUE OF ROW 2 without running another query
    END
    ELSE
    BEGIN
        PRINT 'DOES NOT EXIST' 
    END

行真的意味着行不应该是列吗?整个问题似乎混淆了这些概念。行真的意味着行不应该是列吗?整个问题似乎混淆了这些概念。行真的意味着行不应该是列吗?整个问题似乎混淆了这些概念。行真的意味着行不应该是列吗?整个问题似乎混淆了这些概念。你也可以使用
SELECT 1 FROM…
你也可以使用
SELECT 1 FROM…
你也可以使用
SELECT 1 FROM…
你也可以使用
SELECT 1 FROM…