使用子查询在一个字段SQL中插入多个值

时间:2014-09-02 07:13:34

标签: sql insert subquery

我有一个名为messages的表和一个名为customer

的表

我想在消息表中为customers表中的每个客户ID插入一条新消息。 我写了下面的查询

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

但我得到了错误

子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

不可能,试试这个:

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

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