我在mssql数据库中有2个表,horse_data
和trainer_data
。 horse_data包含以下列: -
horse_id, horse_name, horse_nationality, horse_yof, horse_sex, horse_sire, horse_dam, horse_trainer_id
,
和trainer_data的专栏是: -
trainer_id,
trainer_name
,
trainer_id和horse_trainer_id之间存在外键关系。
如何在horse_data表中插入新记录,而不是为horse_trainer_id的值输入int,输入教练的名称,然后让insert查询在trainer_data中查找值并插入正确的trainer_id进入horse_data表的horse_trainer_id列?
答案 0 :(得分:3)
试试这个:
INSERT INTO horse_data (horse_id, horse_name, horse_nationality,
horse_yof, horse_sex, horse_sire, horse_dam, horse_trainer_id)
VALUES (horse_id, horse_name, horse_nationality, horse_yof,
horse_sex, horse_sire, horse_dam,
(SELECT TOP 1 trainer_id FROM trainer_data WHERE trainer_name = 'name'))