2012-12-28 59 views
0

我正在寻找的代码是将一些可变数量的行插入到test_table中,其中source_table中的'policy'与policy_custsgt中的'bond_ser'匹配,而source_table中的'SNL_ID'匹配'inst_key'在raw_table中。在常量中插入一些变量

我希望它插入serial_number和ID连同其他一些常量。我可以让它插入serial_number和ID就好了,但是我怎样才能在每次插入其他表的变量时在表的其他字段中添加一些常量?

这是我目前有的代码,如果我从第一行删除“'122812','999999','myname'”,它将正常工作,但只会填充我的表的serial_number和ID列插。

INSERT INTO test_table(serial_number, ID, '122812', '999999', 'myname') 
SELECT policy, SNL_ID 
FROM source_table 
WHERE (policy IN (SELECT bond_ser from policy_custsgt)) AND 
(SNL_ID in (select inst_key from raw_table)) 

谢谢!

回答

1

当然,我看过简单的解决方案。我需要做的就是将那些我希望从INSERT语句中删除的常量移到SELECT语句中,并在INSERT中添加列名:

INSERT INTO test_table(serial_number, ID, starting_date, ending_date, user_id) 
SELECT policy, SNL_ID, '122812', '999999', 'myname' 
FROM source_table 
WHERE (policy IN (SELECT bond_ser from policy_custsgt)) AND 
(SNL_ID in (select inst_key from raw_table))