在创建具有新列的表后,是否有办法在单个SQL语句中只选择其他表中的一列而不再使用Alter
如下所示,但仅用于理解
create table compliance_rules_filter_groups
( group_id int,
group_name varchar(50),
rule_id int (select rule_id from compliance_rules),
m_group_filter_logical_condition varchar(10)
)
答案 0 :(得分:1)
您正在创建表列rule_id as int not,在此语句中插入数据。在您要将数据插入compliance_rules_filter_groups表时,可以使用compliance_rules表中的rule_id。
插入时您可以执行以下操作,或者可以使用INNER JOIN取决于您的表结构。但毕竟主要的是,你不能用CREATE语句插入数据。
INSERT INTO compliance_rules_filter_groups(group_id, group_name, rule_id, m_group_filter_logical_condition)
SELECT 1, '', (select rule_id from compliance_rules), ''