我有一个批量插入查询
insert into table1(shift) select value from table2 where transid='shiftid'
此查询将table2中的所有移位值插入到table1移位列中。
但是如果我想在table1中的多个列中插入记录,但我的选择查询将只返回一列,例如:
select value from table1 where transid in ('shiftid','gradeid','currencyid')
它将返回包含所有值的一列。但我想插入:
insert into table1(shift,grade,currency) ...........
任何人都可以为我填充....我希望你理解我的要求。
答案 0 :(得分:1)
我不知道你的表是什么样的,但你需要的是确保INSERT和SELECT中的列数匹配,并且它们具有兼容的类型。所以像这样:
insert into table1 (shift, grade, currency)
select shift_id, grade_id, currency_id
from table2
where transid in ('shiftid', 'gradeid', 'currencyid')
SELECT中的列取决于table2
的样子。