use*_*946 -1 sql-server sql-server-2005
insert into patient_record(patient_no, patient_name, datetime_of_birth,
GP_unique_no, GP_name, GP_address,complaint,
treatment, doctor, datetime_treatment_started,
datetime_treatment_ended)
values(13, 'Sophie', '1955-05-13', 'G202',
**select name_of_doctor from gp_doctor where unique_no=G202**,
'Yorkshire', 'Broken right arm', 'Plaster Arm', 'Peter Parker',
'2012-01-25','2012-01-29')
Run Code Online (Sandbox Code Playgroud)
我不知道如何添加G202.任何的想法?
你不能在INSERT声明中间进行子选择....你需要在运行之前执行此操作INSERT:
DECLARE @GPName VARCHAR(100)
SELECT @GPName = name_of_doctor
FROM dbo.gp_doctor
WHERE unique_no = 'G202' -- I assume this is really a *string* here for the "unique_no"
INSERT INTO
dbo.patient_record(patient_no, patient_name, datetime_of_birth,
GP_unique_no, GP_name, GP_address, complaint,
treatment, doctor, datetime_treatment_started,
datetime_treatment_ended)
VALUES
(13, 'Sophie', '1955-05-13',
'G202', @GPName, 'Yorkshire', 'Broken right arm',
'Plaster Arm', 'Peter Parker', '2012-01-25','2012-01-29')
Run Code Online (Sandbox Code Playgroud)
或类似的东西.
假设unique_no是唯一的,您可以选择该记录来获取名称
insert into patient_record(patient_no, patient_name, datetime_of_birth,
GP_unique_no, GP_name, GP_address,complaint,
treatment, doctor, datetime_treatment_started,
datetime_treatment_ended)
SELECT
13,
'Sophie',
'1955-05-13',
'G202',
name_of_doctor,
'Yorkshire',
'Broken right arm',
'Plaster Arm',
'Peter Parker',
'2012-01-25','2012-01-29'
FROM gp_doctor
where unique_no = 'G202'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2295 次 |
| 最近记录: |