Select SQL集合语句
我目前正在提高我的SQL知识。目前,我正试图通过从select语句中获取一个值来声明一个变量。第一个问题:这可能吗 第二个问题:我有一个SQL试图执行上述操作。我的意图是将Select SQL集合语句,select,set,sql,Select,Set,Sql,我目前正在提高我的SQL知识。目前,我正试图通过从select语句中获取一个值来声明一个变量。第一个问题:这可能吗 第二个问题:我有一个SQL试图执行上述操作。我的意图是将@version\u group设置为version\u replace所包含的任何内容,这始终是一个单行、单列的结果 DECLARE @version_group int SET @version_group = SELECT version_replace FROM users WHERE id=@sid
@version\u group
设置为version\u replace
所包含的任何内容,这始终是一个单行、单列的结果
DECLARE @version_group int
SET @version_group = SELECT version_replace FROM users WHERE id=@sid
如何将其更正为有效语法?(假设有可能)
如何将其更正为有效
syntex?(假设有可能)
您需要的语法如下所示,它需要一条您在最初的工作中没有的信息(FROM子句):
不要忘记包含您的数据源(即表、视图、替换上面的MyVersionTable)。这是可能的。就这么做(SQL 2008):
从id=@sid的表中选择@version\u group=version\u replace
-1由于在已发布的查询中缺少from语句,请发送给self!可以自由编辑您的问题您对SQL的了解应该包括它是一种基于集合的语言(双关语)并且打算与优化器一起工作。您似乎正在使用SQL编写过程代码。一旦您拥有了
@version\u group
值,您将如何处理它?如果答案是“将它用作另一SQL语句中的参数”,那么考虑将两者结合起来,并给予优化器一个适当的外观。+ 1,但值得注意的是,它仅在SQL 2K8中有效(并且AS是可选的)。我猜您是对的:(我用SQL 2K8工作,这是我使用的语法。TIK是第一个!(我需要多个蜱)
DECLARE @version_group int
select @version_group = version_replace from (you're missing this from your query) where id=@sid
DECLARE @version_group int
SELECT @version_group = version_replace
FROM MyVersionTable
WHERE id=@sid
declare @version_group as int=
(SELECT version_replace
FROM users
WHERE id=@sid);
DECLARE @version_group int
-- THEN
SET @version_group = 1
-- OR!
SELECT @version_group FROM version_replace WHERE id=@sid