首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >中的SQL选择

中的SQL选择
EN

Stack Overflow用户
提问于 2015-03-02 23:56:58
回答 4查看 118关注 0票数 0

我想知道这句话有什么不对。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSERT INTO Table1(Myname,category ) 
 SELECT TOP 1 thenames
FROM tNames
 WHERE DateAdded > DATEADD(Day, -10, GETDATE() 
ORDER BY NEWID(),@ccategory)

我想从表tname中选择一个随机值,并将其与我从SP获得的类别值放在表1中。我该怎么做?

编辑:,我在MS中工作。完整代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Create PROCEDURE [dbo].[Names_SP] 
@CCategory nvarchar(50)

AS

BEGIN
    INSERT INTO Table1(Myname,category ) 
     SELECT TOP 1 thenames
    FROM tNames
     WHERE DateAdded > DATEADD(Day, -10, GETDATE() 
    ORDER BY NEWID(),@ccategory)
END

当我呼叫SP时,我发送@ccategory。因为表1有两个列(第一个是类别),所以我希望从tname表中获得第二个(myname)列值,作为随机( 10天内添加的名称)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-03-03 00:04:47

您有两个列要插入(Myname,类别),但您的选择列表只包含1列!(名)

“@类别”呢?至少在您发布的代码中,这个变量从未被声明或分配.

也许你应该这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DECLARE  @category varchar(20)
SET @category = 'some cat.'    

INSERT INTO Table1(Myname,category)
    SELECT TOP 1 thenames,@category
    FROM tNames
    WHERE DateAdded > DATEADD(Day, -10, GETDATE())
    ORDER BY NEWID() 
票数 2
EN

Stack Overflow用户

发布于 2015-03-02 23:58:48

从Select语句中选择一列,插入语句中指定了两列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSERT INTO Table1(Myname) 
 SELECT TOP 1 thenames
FROM tNames
 WHERE DateAdded > DATEADD(Day, -10, GETDATE() 
ORDER BY NEWID(),@ccategory)
票数 1
EN

Stack Overflow用户

发布于 2015-03-03 00:01:16

您必须选择在insert语句中写入的确切值。有些事情是这样的-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSERT INTO Table1(Myname,category ) 
SELECT TOP 1 thenames, Category_value
FROM tNames
WHERE DateAdded > DATEADD(Day, -10, GETDATE())
ORDER BY NEWID(),@ccategory
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28826686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文