2014-09-02 51 views
1

一个字段SQL插入多个值,我有一个表称为消息,并呼吁客户与子查询

我想插入在消息表中的新邮件在客户表中的每个客户ID的表。 我写了下面的查询

INSERT INTO MESSAGES 
(
ID, 
VERSION, 
CUSTOMERID, 
SERVICE, 
CREATED_BY, 
MESSAGE 
) 
VALUES 
(
NEWID(), 
'1', 
SELECT id FROM customer, 
null, 
'test', 
'test') 

,但我得到的错误

子查询返回多个值。当子查询遵循=,!=,<,< =,>,> =或当子查询用作表达式时,这是不允许的。 任何想法?

+0

我想补充的是,我只需要从客户表中的CUSTOMER_ID并没有其他数据 – user598347 2014-09-02 07:29:16

回答

2

不可能的,试试这个:

INSERT INTO MESSAGES 
(ID, VERSION, CUSTOMERID, SERVICE, CREATED_BY, MESSAGE) 
SELECT NEWID(), '1', id, null, 'test', 'test' 
FROM customer 

通过这种方式,你可以在你的信息表中插入所有客户行

+0

我只想要客户的ID?这仍然有效吗? – user598347 2014-09-02 07:22:06

+0

INSERT和SELECT中的字段编号必须相同。在CUSTOMER表中的查询中,您只会获得ID字段,其他则是常量 – 2014-09-02 07:38:36