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…