2017-06-23 18 views
0

ここでは、2つの異なるテーブルからのpatient_idとnurse_idを挿入しようとしています。selectステートメントを使用して1つのテーブルから別のテーブルにレコードを挿入

insert into nurse_take_care(patient_id,nurse_id) values (patient_id(select MAX(p_id) from patient;), nurse_id(Select n_id from nurse order by Rand() limit 1;))

これが行うには正しい方法です??

+0

。 MAX(p_id)を挿入する状況はありません。このコンテキストでは、このようなクエリは潜在的に致命的です。 – Strawberry

答えて

-1

のように、クエリは次のようになり、この
insert into nurse_take_care(patient_id,nurse_id) SELECT (select MAX(p_id) from patient) as p_id, (select n_id from nurse order by Rand() limit 1) as n_id

+0

ありがとうございました –

-1

はこのような何かを試してみてください:

INSERT INTO nurse_take_care (patient_id, nurse_id) 
SELECT (SELECT MAX(p_id) FROM patient), 
     (SELECT n_id FROM nurse ORDER BY RAND() LIMIT 1) 
0

を試してください:いいえは `INSERT INTO ... SELECT`を参照してください

insert into nurse_take_care(patient_id,nurse_id) values 
(select MAX(p_id) from patient limit 1, Select n_id from nurse order by Rand() limit 1); 
+0

これを試しましたか? @Rahul Varma – lalithkumar

+0

患者のサブクエリに 'LIMIT 1'を必要としないので、' MAX() 'を無効にします。 –

+0

彼が後でグループを追加すると問題が発生し、制限が追加されます – lalithkumar

関連する問題