插入…(选择*…,“固定值”)

问题描述 投票:0回答:1

以下是我的需求的示例。我有2个表。用户表和另一个表,我在其中输入用户喜欢的食物。

Class User{
    long id
}

class UserFood{
    Long id (auto-generated)
    long user_id
    String food
}

在我的数据库中,我有几百条记录。现在我想从 UserFood 表中获取所有有食物“法式吐司”的用户并添加“橙汁”

所以我正在寻找如下的插入语句

insert into user_food (user_id,food) values (select user_id from user_food where food="French Toast","Orange Juice");

当我运行上述查询时,出现以下错误

syntax error at or near "select"

这个问题有解决办法吗?

sql postgresql sql-insert
1个回答
3
投票

以下查询将为所有至少拥有一条法式吐司记录的用户添加橙汁记录。

INSERT INTO user_food (user_id, food)
SELECT DISTINCT user_id, 'Orange Juice'
FROM user_food
WHERE user_id IN (SELECT user_id FROM user_food WHERE food = 'French Toast')
© www.soinside.com 2019 - 2024. All rights reserved.