如何在INSERT查询中使用别名?

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

我有以下声明:

INSERT INTO room (room_class_id, beds_amount)
    VALUES 
    ((SELECT id FROM room_class WHERE class_name='STANDARD'), 2),
    ((SELECT id FROM room_class WHERE class_name='STANDARD'), 2),
    ((SELECT id FROM room_class WHERE class_name='STANDARD'), 3),
    ((SELECT id FROM room_class WHERE class_name='STANDARD'), 1),
    ...
    and 30+ rows looking like that

如何为房间类别ID使用别名,以避免每次都选择别名?当我尝试

INSERT INTO room (room_class_id, beds_amount)
    VALUES 
    ((SELECT id AS st_id FROM room_class WHERE class_name='STANDARD'), 2),
    (st_id, 2),
    (st_id, 3),
    (st_id, 1),

我知道

错误:列“ st_id”不存在

我正在使用PostgreSQL 9.6。

sql select insert subquery alias
1个回答
0
投票
您可以通过将查询交叉连接到第二列的值来完成此操作:
© www.soinside.com 2019 - 2024. All rights reserved.