MySQL バージョン 5.6を使用しています。event
2 つの ID と日付を受け取るテーブルと、 column を含むテーブルがstudent
ありますid
。名前が一致するときに 2 つの ID を挿入したい(WHERE firstname =.., AND lastname=..,)
。id
ただし、 1回の挿入コマンドで2行から取得する方法がよくわかりません。誰でも私を助けてもらえますか?
ありがとう、ポール
テーブルに挿入しようとしている場合は、を使用しますinsert
。別のテーブルまたはクエリからデータを取得するには、insert . . . select
フォームが必要です。
あなたの言うことから、これはあなたが望むもののように思えます:
insert into event(id1, id2, date)
select s1.id, s2.id, now()
from student s1 cross join
student s2
where s1.id <> s2.id and
s1.firstname = firstname and s1.lastname = lastname and
s2.firstname = firstname and s2.lastname = lastname;
名前が一致する (ただし、同じ ID を持たない) 学生のすべてのペアが返されます。